我一眼就从这题看出了卷积,引起了我极大的兴趣,做到后面才发现就这么水。
题面
题意:问长为n,每个数字为1~m,至少有一个质数,和为p的倍数的序列有多少个,模1e9+7。n≤1e9,m≤2e7,p≤100。
看到“至少有一个质数”,大概就是容斥之类的东西,可将问题变成(1~m的结果)减去(合数与1的结果)。
设f[i][j]为长为i,模p为j的方案数。g=f[1],枚举下一位模p的余数,就可以转移了。
f[i][j]=
我一眼就从这题看出了卷积,引起了我极大的兴趣,做到后面才发现就这么水。
题面
题意:问长为n,每个数字为1~m,至少有一个质数,和为p的倍数的序列有多少个,模1e9+7。n≤1e9,m≤2e7,p≤100。
看到“至少有一个质数”,大概就是容斥之类的东西,可将问题变成(1~m的结果)减去(合数与1的结果)。
设f[i][j]为长为i,模p为j的方案数。g=f[1],枚举下一位模p的余数,就可以转移了。