摘要:
样例解释 转换成路径问题 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int mod = 1e9 + 7; 5 ll qmi(ll a, ll b, ll p) { 6 ll re 阅读全文
posted @ 2020-08-19 14:38
kyk333
阅读(219)
评论(0)
推荐(0)
摘要:
这种求组合数问题是要把最终答案算出来,而不是把最终答案模上一个数 就是直接用定义求组合数,分解质因数,然后用上高精度乘法 还是要吐槽一句python自带高精,python大法好,之后还要转python,酸了酸了 如何求a!中有多少个质因子p呢 一直乘到p的若干次方比a大了为止,这步操作时间复杂度是l 阅读全文
posted @ 2020-08-19 13:55
kyk333
阅读(167)
评论(0)
推荐(0)
摘要:
卢卡斯定理lucas 然后就可以根据这个公式来求组合数了 时间复杂度:O(log p (n) * p log 2 (p)) 。其中的log p (n)是计算a%mod和b%mod所要的时间 然后化简 最终时间复杂度可以记为:O(p * log 2 (n)),n是是C(n,m)的下界n,p是取模用的质 阅读全文
posted @ 2020-08-19 13:15
kyk333
阅读(169)
评论(0)
推荐(0)
摘要:
上一题是直接预处理出来了这个值是多少,这道题是预处理求值过程中间的一步 根据这个公式,预处理出来fact[i] = i! % mod的结果 然后再用逆元运算,把除法变成乘法 再预处理一个infact[i] 预处理完之后,就可以计算了 因为除以一个数对m取模等于乘以这个数的逆元对m取模 求逆元可以用快 阅读全文
posted @ 2020-08-19 11:54
kyk333
阅读(131)
评论(0)
推荐(0)
摘要:
需要根据组合数问题的数据范围来选择用哪一种方式来实现求组合数 上式的证明:要求从a个苹果里选b个苹果的方案数,首先人为的在a个苹果当中随意标记一个苹果,然后把选法分为两种情况 从a个苹果里选b个苹果的选法中包含这个苹果,以及从a个苹果里选b个苹果的选法中不包含这个苹果 C(a - 1, b - 1) 阅读全文
posted @ 2020-08-19 11:21
kyk333
阅读(207)
评论(0)
推荐(0)

浙公网安备 33010602011771号