摘要:解题思路:矩阵快速幂 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: uva 10870 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #include 10 #include 11 #i...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757解题思路:矩阵快速幂 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1757 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #in...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1095题目大意:求正整数 n 的真因子之和解题思路:类似素数筛法 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 2095 3 //user_id: SCNU20102200088 4 ////////////////////////////////////////////////////////////////////
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4704解题思路:容易求得 S(1)+S(2)+···+S(N)=2N-1, 则 (S(1)+S(2)+···+S(N))%1000000007=2N-1%1000000007.记 Mod=1000000007, 由 Euler-Fermat 定理有:2Mod-1≡1 (mod Mod),从而有2N-1≡2(N-1) mod (Mod-1)(mod Mod). 1 ///////////////////////////////////////
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1271解题思路:设所求为 x=a+b*10k+c*10k+1, 拿走 x 的第 k 位,得到 y=a+c*10k , 则 n=x+y=2*a+b*10k+11*c*10k . 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1271 3 //user_id: SCNU20102200088 4 /////////////////////////////
阅读全文
摘要:题目链接:http://poj.org/problem?id=2478题目大意:给定一个整数 n ( 2≤n≤106), 求 phi(2)+phi(3)+···+phi(n).解题思路:简单题,主要是求 1-106的欧拉函数 phi(i), 方法与素数筛法类似。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 2478 3 //user_id: SCNU20102200088 4 ///////////////////
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4745解题思路:首先将 k 进制表示的 s 转成十进制的 n, 然后在十进制下求最大的 t, 使得 kt整除 n! 且 kt+1不整除 n! .先求k的标准分解式为 k=p1a1p2a2···pmam, 由于2≤k≤62 , 故 k 最多可能有 2, 3, 5, 7 共 4 个素因子。再由 n! 中素数 p 的指数为 [n/p]+[n/p2]+...+[n/pk], 其中pk≤n 7 #include 8 #include 9 #inc
阅读全文
摘要:题目链接:http://poj.org/problem?id=2992解题思路:不妨设C(n,k) 的标准分解式为 C(n,k)=p1a1p2a2···ptat..①n! 中素数 p 的指数为 np(n,p)=[n/p]+[n/p2]+...+[n/pk], 其中pk≤n 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #inc
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005解题思路:显然,直接迭代会 TLE , 由于结果 mod7 ,故 f(i),f(i+1) 的状态 (f(i),f(i+1)) 最多只有 7×7=49 种,可先求循环节长度,减少不必要的计算。注意:循环节不一定从 (1,1) 开始。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1005 3 //user_id: SCNU2010220
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1575解题思路:矩阵快速幂 1 #include 2 using namespace std; 3 4 int n; //nxn矩阵 5 6 struct Matrix{ 7 int a[10][10]; 8 }origin,res; 9 10 Matrix multiply(Matrix x,Matrix y){11 Matrix temp;12 for(int i=0;i>=1;26 origin=multiply(origin,origin);27...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2157解题思路:矩阵快速幂 1 #include 2 using namespace std; 3 4 int n; //n个点,对应nxn矩阵 5 6 struct Matrix{ 7 int a[20][20]; 8 }res; 9 10 Matrix multiply(Matrix x,Matrix y){11 Matrix temp;12 for(int i=0;i>=1;26 origin=multiply(origin,origin);27 ...
阅读全文