求助组合数
  • 板块学术版
  • 楼主lgmulti
  • 当前回复12
  • 已保存回复12
  • 发布时间2021/9/24 19:48
  • 上次更新2023/11/4 05:46:10
查看原帖
求助组合数
54769
lgmulti楼主2021/9/24 19:48

如何在O(n)O(n)的时间复杂度内计算出Cnkmod(109+7)(kn,n105)C_n^k\bmod (10^9+7) (k\leq n,n\leq 10^5)

我试过这些方法,都没用

  1. 直接用乘除法计算:如果计算完之后再取模的话会爆炸,一边计算一边取模的话则商的余数不等于余数的商。

  2. 通过递归计算Cnk=Cn1k+Cn1k1C_n^k=C_{n-1}^k+C_{n-1}^{k-1}:时间复杂度爆炸

  3. 递归计算完AnkA_n^k再除:商的余数不等于余数的商,所以不行。

所以各位大佬有更好地办法吗?

2021/9/24 19:48
加载中...