随笔分类 - 数论
摘要:题意:输入n,要求满足1≤x,y≤n,且x,y互素的个数。 若输入2,则答案3为(1,1),(1,2),(2,1);所以欧拉函数求出所有数的phi值,除了1之外都加上phi值的2倍即可 通过推导: phi[n] = n*(1-1/p1)*......*(1-1/pn) /*pi表示n的素因子,求出小
阅读全文
摘要:题意:一个数是这n个数的乘,找出它一个不是素数的最小因子 求出所有数的所有质因子中最小的两个,相乘就是答案。如果所有数字的质因子个数不到两个,那么就是无解。 /*我只是希望自己尽可能做得比别人好而已,而且,讨厌失败,更讨厌失败了却还不知道努力*/
阅读全文
摘要:题意:基于矩阵的NIM游戏,求异或和。 思路:在x1,y1 到 x2, y2的异或和 = A[ x2 ][ y2 ] ^ A[x1-1][ y2 ] ^ A[ x2 ][y1 - 1] ^ A[ x1-1 ][ y1 - 1 ] 先普通来了两次,结果都超时。 上个二维树状数组AC
阅读全文
摘要:题意:给定 C,k1, b1, k2 找出所有的(a, b)满足 ak1⋅n+b1+ bk2⋅n−k2+1 = 0 (mod C)(n = 1, 2, 3, ...) (1<=a, b <C) 1. 当n = 1时, a^(k1+b1) + b = 0 ( mod C) => a^(2 * k1+b
阅读全文
摘要:题意:对于矩阵A,求A^1 + ...... + A^k 按照矩阵十大经典题的思路大致做了下。 在k为奇数时: A^( k / 2+1)+ 1) * (A^1 + ....... A^(k/2)) + A^(k/2+1) k为偶数时:(A^(k/2) + 1 )* (A^1 + ..........
阅读全文
摘要:借鉴做题: 经典题目1 给定n个点,m个操作,构造O(m+n)的算法输出m个操作后各点的位置。操作有平移、缩放、翻转和旋转 这里的操作是对所有点同时进行的。其中翻转是以坐标轴为对称轴进行翻转(两种情况),旋转则以原点为中心。如果对每个点分别进行模拟,那么m个操作总共耗时O(mn)。利用矩阵乘法可以在
阅读全文
摘要:题意:指定v1,v2,要求计算出在t1,t2天内从v1->v2的走法 思路:可以知道由矩阵求,即将其建图A,求矩阵A^t1 + ...... + A^t2. A^n后,/*A.xmap[v1][v2]即是从v1到v2要n步 所以先预处理出A^1 -A^10000的情况,后面再注意下细节,计算即可.
阅读全文
摘要:题意:求 [(5 + 2*sqrt(6))^(1 + 2^x)] % M 基于hdu2256可以求(5 + 2*sqrt(6))^ n 但是n特别大,我们可以找矩阵的循环节 两种可能 1.mod-1 2. (mod+1) * (mod-1) /*(具体ACdreamers的广义裴波那切找循环节) 在
阅读全文
摘要:求(sqrt(2) + sqrt(3)) ^ 2n MOD 1024 强行盗图- -,这公式推得 。。
阅读全文
摘要:题意:c( n, m)%M M = P1 * P2 * ......* Pk Lucas定理是用来求 c(n,m) mod p,p为素数的值。得出一个存余数数组,在结合中国剩余定理求值 其中有个地方乘积可能超范围,所以按位乘(数论方面薄弱啊,学习学习)。
阅读全文
摘要:a[i][j] = a[i-1][j] + a[i][j-1] m.特别大,可以计算出第一列,找出规律,构建一个特殊的矩阵,运用快速幂 设矩阵x: 1 0 0 0 ... |10 1 1 1 0 0 ... |10 1 1 1 1 0 ... |10 1 1 1 1 1 ... |10 1 ....
阅读全文
摘要:Sample Input 2 3 1 3 2 6 2 3 4 5 6 1 2 3 1 3 2 6 2 3 4 5 6 1 Sample Output 2 6 2 6 题意:给一个转置求它的循环长度 题解:分解成循环求最小公倍数
阅读全文
摘要:Zball in Tina Town Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 1401 Accepted Submission(s)
阅读全文
摘要:| 1 2 3 4 5 6 | | 3 6 5 1 4 2 | 在一个置换下,x1->x2,x2->x3,...,xn->x1, 每一个置换都可以唯一的分解为若干个不交的循环 如上面那个 可以 =>(1,3,5,4) 1的下面是3 ;3的下面是5 一直循环。 (2,6) 一个循环,有两种处理方法:
阅读全文
摘要:反素数: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数。 有两个特点: 1.一个反素数的质因子必是从2开始的质数 2.如果,那么必有 最常见的问题如下: (1)给定一个数,求一个最小的正整数,使得的约数个数为 (2)求出中约数个数最多的这个数 即是
阅读全文
摘要:Sample Input Sample Output 模板学习: 判断是否是素数,数据很大,所以用miller,不是的话再用pollard rho分解 miller : 通过费马小定理,若N为素数,a^(N-1) = 1 (mod N), 再利用二次判定: 若x为素数,0<x<p, x*x = 1(
阅读全文
摘要:Sample Input Sample Output 找出给定范围内,距离最远和最近的素数。(不停超时 - -) 给的上界很大,所以全处理肯定不行。 先处理sqrt(2147483647)。 然后再在l 与 r之间筛选素数。
阅读全文
摘要:M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 现在给出a, b, n,你能求出F[n]的值吗? Input 输入包含多组测试数据; 每组数据占一行,包含3个整数a, b, n( 0 <= a
阅读全文
摘要:模板: int Extend_Euclid(int a, int b, int &x, int &y){ if(b == 0){ x = 1; y = 0; return a; } else{ int gcd,t; gcd = Extend_Euclid(b, a%b, x, y); t = x;
阅读全文
摘要:Sample Input 143 10 143 20 667 20 667 30 2573 30 2573 40 0 0 143 10 143 20 667 20 667 30 2573 30 2573 40 0 0 Sample Output GOOD BAD 11 GOOD BAD 23 GOO
阅读全文

浙公网安备 33010602011771号