数论劲啊 原题: 小C有一个集合S,里面的元素都是小于M的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S。 小C用这个生成器生成了许多这样的数列。但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成出的,且满足数列中所有数的乘积mod M的值等于 ...
分类:
其他好文 时间:
2017-05-04 21:50:39
阅读次数:
222
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3992 【题解】 很容易得到一个dp但是复杂度不对 我们想到用原根把乘法改成加法。 然后a1a2...an=g^(b1+b2+...+bn) 我们找到g^k=x,那么就有b1+b2+...+bn ...
分类:
其他好文 时间:
2017-05-01 12:04:25
阅读次数:
242
Description 小C有一个集合S,里面的元素都是小于M的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S。 小C用这个生成器生成了许多这样的数列。但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成出的,且满足数列中所有数的乘积mod M的 ...
分类:
其他好文 时间:
2017-04-05 23:27:58
阅读次数:
227
一行,四个整数,N、M、x、|S|,其中|S|为集合S中元素个数。第二行,|S|个整数,表示集合S中的所有元素。 一行,一个整数,表示你求出的种类数mod 1004535809的值。 ...
分类:
其他好文 时间:
2016-03-24 18:23:29
阅读次数:
229
求出$M$的原根$g$以及每个数$i$的指标$ind[i]$。则$(a\times b)\bmod M = x$等价于$(ind[a]+ind[b])\bmod \varphi(M) = ind[x]$。这是个循环卷积,用快速幂+NTT加速运算即可,时间复杂度$O(m\log m\log n)$。#...
分类:
其他好文 时间:
2015-08-10 21:38:03
阅读次数:
117
#includeusing namespace std;#define MOD 1004535809int a[8001],f[1001][101],n,m,x,S;int main(){ scanf("%d%d%d%d",&n,&m,&x,&S); for(int i=1;i<=S;++i) .....
分类:
其他好文 时间:
2015-04-15 23:18:37
阅读次数:
183
题目大意:给定n(n
求原根,对S集合内每个元素取指标,然后搞出生成函数f(x)
那么答案就是(f(x))^n (mod x^(m-1),mod 1004535809)
上NTT用多项式快速幂搞一搞就好了
#include
#include
#include
#include
#define M 16400
#define MOD 1004535809
#define INF 0x...
分类:
其他好文 时间:
2015-04-15 21:27:51
阅读次数:
158