Codeforces Round #104 (Div. 2) E - Lucky Subsequence
这个题其实就是个dp(类似背包),但是一些细节还是让我做了一晚上。
这个题学习了组合数取模(逆元法)
补充知识:逆元的求法
(a/b) mod p=a*(b逆) mod p
b*x=1(mod p) x就是b的逆元
而b逆可以利用扩展欧几里德或欧拉函数求得:
1).扩展欧几里德:b*x+p*y=1 有解,x就是所求
2).欧拉函数:b^(p-1)=1(mod p),故b*b^(p-2)=1(mod p),所以x=b^(p-2)
这里C(n,k)如果要分开求的话。最好这样做(这样只调用一次excuild函数)
我就是在这里一直TLE,T死我啦(囧)
搓代码留纪念
由于excuild函数调用太多T了。
下面代码是快速幂求逆元的方法