- 博客(6)
- 收藏
- 关注
原创 FZU 2031 计数问题
题意: f(x) = x^x , (x的x次方) 令 g(x,y) = f(x) + f(y) 求 g(x,y) = 0 (mod p) 的数对(x,y)数量 ,其中 (x,y)为整数对,且1 解题思路: f(x) + f(y) = 0 (%p) , 由于p为质数,根据费马小定理,x^(p-1) =1(%p), x^(x) * x^(p-1-x) = 1(%p) ,故 f(x)
2017-08-29 22:35:48 449
原创 FZU 2280 Magic
给定n个字符串,每个字符串一个价值wi,询问 1 更改某个串的价值 2 查询以第x个串为后缀且价值小等于x串的字符串个数 字符串个数 n 查询数 q 分析:根据字符串倒序构建字典树,那么对于某个字符串,以它为后缀的字符串在该字典树中成为了它的子树。然后根据字典树构建dfs序,查询相当于dfs序的区间查询。 算法一: 使用hash预处理出树,然后构建dfs序,分块进行查询和更新。
2017-08-12 18:11:48 418
原创 求有向图的关键路径(C++代码)
对于给定的有向图,先进行拓扑处理,然后求出最长路径。 //寻找图的关键路径 #include #include #include #include #include using namespace std; //最大边数,最大点数 const int Max_M=100100; const int Max_N=50100; struct Graph { int nod
2017-03-29 21:31:51 4251
原创 FZU 1805 Calculation
f[0]=1; f[n]=f[n%10]^f[n/10]; ^这里表示次方 给定n,m,求f[n]%m; n,m 欧拉降幂: 注意指数是否需要加PHI(C). 题目地址:点击打开链接 #include #include #include #include using namespace std; typedef long long ll;
2016-11-16 22:18:29 285
原创 FZU 2133 kk排座位
总共n( 情况如下: 1 2 5 ? 3 4 ?? ???? status(状态压缩)表示出每排最左边的已填数字是多少。那么要求第k排的个数小等于k-1排。 例如status = 320 (如图)表示第一排填了3个,第二排填了2个,第三排填了0个 实际上status为(m+1)进制数,因为每排的情况只可能 是0-m。 /*-------------------FZU 1985 b
2016-10-17 16:36:43 401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人