洛谷P2822 组合数问题

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

C(n,m)=C(n−1,m)+C(n−1,m−1)C(n,m)=C(n-1,m)+C(n-1,m-1)C(n,m)=C(n1,m)+C(n1,m1)是可以用杨辉三角预处理

C(n,m)%k=(C(n-1,m)+C(n-1,m-1))%k = C(n-1,m)%k + C(n-1,m-1)%k

可以O(nm)预处理C(n,m)能否被k整除

接下来处理二维前缀和

一维:f[i]=f[i−1]+a[i]f[i]=f[i-1]+a[i]f[i]=f[i1]+a[i]

二维:f[i,j]=f[i−1,j]+f[i,j−1]−f[i−1][j−1]+a[i,j]f[i,j]=f[i-1,j]+f[i,j-1]-f[i-1][j-1]+a[i,j]f[i,j]=f[i1,j]+f[i,j1]f[i1][j1]+a[i,j]
a[i,j]a[i,j]a[i,j]=(C(i,j)%k==0)

全部评论

相关推荐

职场水母:为啥你们整简历都喜欢整一大堆没用的,是期待让hr觉得很多,自己很厉害吗
0offer是寒冬太冷还...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务