随笔分类 -  SDOI

摘要:第一类询问:直接快速幂不会的右转百度第二类询问:求个逆元再判一下不会的右转百度第三类询问:首先有费马小定理、、所以答案不会超过p、、但是p的范围还是要T、、于是想到二分或者分块、、、二分的话感觉没什么前途、、于是分块、、(我不会打同余标记就用等于代替了、、)设最终答案x=k[sqrt(p)]+i那么有y^x=z(mod p)y^(k[sqrt(p)]+i)=z(mod p)y^i=z/(y^k[sqrt(p)]) (mod p)y^i=z*y^(k[sqrt(p)](p-2)) (mod p) (费马小定理)这里i的范围是0-[sqrt(p)]-1的、、k的范围是0..P/[sqrt(p)]的 阅读全文
posted @ 2013-06-12 16:11 JS_Shining 阅读(1142) 评论(0) 推荐(0)
摘要:本题是一个动态树的模板题、link-cut-tree的论文可以百度文库中找、Code:#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cmath>#include <cstring>#include <vector>#include <set>#include <map>#include <queue> #define ps system("pau 阅读全文
posted @ 2013-05-23 21:57 JS_Shining 阅读(915) 评论(0) 推荐(0)
摘要:这题目一看数学色彩就很浓通过观察图(这个。。)我们就可以发现,如果按对角线剖分的话,两边可以看到的学生数都恰好是1~n-1范围内的互质数对数,即sigma(phi(i))phi就是欧拉函数,关于线性求欧拉函数可以点这里:http://blog.csdn.net/ji414341055/article/details/5771066那么这题就基本已经解决了,答案就是1~n-1的欧拉函数和*2-1,需要注意的还有两个地方:开unsigned long long和特判n<2的情况Code:#include <iostream>#include <cstdio>#incl 阅读全文
posted @ 2012-06-05 22:50 JS_Shining 阅读(1284) 评论(0) 推荐(0)
摘要:数论题,本人数学不好,怕讲不清楚。。发一个貌似官方的题解。Code:#include <cstdio>#include <iostream>using namespace std;int main(){ long long n,p,a,ans; while (cin >>n){ ans=n; for (long long i=2;i*i<=n;i++){ if (n%i==0) { p=i;a=0; while (n%p==0){ a++;n/=p; ... 阅读全文
posted @ 2012-05-14 22:14 JS_Shining 阅读(1728) 评论(0) 推荐(0)