
ACM_数论
文章平均质量分 83
Christine1024
这个作者很懒,什么都没留下…
展开
-
POJ 1305 Fermat vs. Pythagoras
题意:求n内本原毕达哥拉斯三元组的组数,以及n内没有被毕达哥拉斯数涉及到数的个数。名词解释: 毕达哥拉斯三元组:又名勾股定理 本原的毕达哥拉斯三元组:指如果一个毕达哥拉斯三元组x,y,z 满足GCD(x,y,z)=1,那么这个毕达哥拉斯三元组称为本原的正整数x,y,z构成一个本原毕达哥拉斯三元组且y为偶数,当且仅当存在互素的正整数m,n(m>n原创 2013-07-11 17:52:49 · 876 阅读 · 0 评论 -
hdu3117 Fibonacci Numbers (矩阵快速幂)
题目大意:输入一个n,求n的斐波那契数值的前四位,如果位数小于等于8 位,则全部输出。解题思路:后四位可用矩阵快速幂求出,而前四位则可用公式求出,借鉴了某大神的博客http://blog.sina.com.cn/s/blog_9bf748f301019q3t.html求解前四位的方法:斐波那契数列的通项公式如下:, 改变通项的形式:F(n)=(1/√5)*[((1+√5)/原创 2013-08-31 20:47:35 · 844 阅读 · 0 评论 -
求1^k+2^k+...+n^k ZOJ 2865
公式:转载 2013-08-19 09:35:49 · 2155 阅读 · 0 评论 -
HDU 1573 X问题 (非互质情况下的中国剩余定理)
解题思路:1. 因为(a1,a2,a3,a4,….,ak)不一定互质,所以不能够直接用中国剩余定理。2. x=r1+a1*k1,x=r2+a2*k2,所以有r1+a1*k1=r2+a2*k2,化简后得到 a1*k1=(r2-r1) mod(a2);用扩展欧几里得可以得到最小的k1,所以x=r1+a1*k1+a1*a2/gcd(a1,a2),就这样一直替换最后剩余一个同余方程。r1就原创 2013-08-19 15:42:57 · 832 阅读 · 0 评论 -
2013 ACM/ICPC 长沙网络赛-Goldbach
http://blog.youkuaiyun.com/z309241990/article/details/11917495题目大意:给一个数n, 最多由三个素数通过加、乘运算得到n 有多少种组合。解题思路:首先通过筛选法找出所有的素数,然后依次算出2个素数的和与积的个数,对于每次输入的n,采取如下措施:1、若n为素数,则答案+1;2、直接加上n由2个素数相加和相乘的所有情转载 2013-09-23 20:29:11 · 781 阅读 · 0 评论 -
hdu2276 Kiki & Little Kiki 2
还不是很懂,mark,,,,,#include#include#includestruct Mat{ bool num[101][101];};Mat init, unit;int m, n;Mat Mul(Mat a, Mat b){ Mat c; for(int i = 0 ; i < n; i ++) {原创 2013-09-04 09:40:36 · 640 阅读 · 0 评论 -
uva 10655 Algebraic Problem(矩阵快速幂)
解题思路:已知: p=a+b q=a*b 求: a^n+b^n 构造矩阵 X(n)=a^n+b^n ... X(0)=2; X(1)=a+b=x; X(n)=(a+b)*X(n-1) - a*b*X(n-2) | (a+b) -a*b | | X(n-原创 2013-09-10 16:33:04 · 832 阅读 · 0 评论 -
hdu1588 Gauss Fibonacci (矩阵快速幂)
P.S. 感谢大神,借鉴于此:http://blog.youkuaiyun.com/shiyuankongbu/article/details/8458459 讲的真心很明白,,, 题目大意:给定k, n, b, M , 求斐波那契数列第b项到第 k*i+b 项( 0解题思路:对于F(b) + F(k+b) + F(2*k+b) + … + F( (n-1) *原创 2013-09-02 17:51:45 · 737 阅读 · 0 评论 -
矩阵快速幂
转自:http://www.cnblogs.com/yan-boy/archive/2012/11/29/2795294.html矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。这里先对原理(主要运用了矩阵乘法的结合律)做下简单形象的介绍:一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次幂。但做下简单的改进就能减少连乘的次数,方转载 2013-09-01 18:44:03 · 813 阅读 · 0 评论 -
容斥原理 from vici
http://www.cppblog.com/vici/archive/2011/09/05/155103.html原创 2013-08-31 10:20:04 · 724 阅读 · 0 评论 -
HDU 4655 Cut Pieces
#include#include#include#include#include#includeusing namespace std;#define M 1000000007#define LL long longconst int maxn = 1000007;LL a[maxn] ,b[maxn];LL min(LL a,LL b){ if(a<b) r原创 2013-08-08 18:44:07 · 820 阅读 · 0 评论 -
POJ 1845 Sumdiv(质因数分解+快速幂+二分法求等比数列的和)
题目大意:求 A ^ B 的所有约数的和 模 9901 的值。解题思路:1、对A进行素因子分解得: A = p1^a1 * p2^a2 * p3^a3 * ... * pn^an. 故 A ^ B = p1^(a1*B) * p2^(a2*B) * ... * pn^(an*B);2、A ^ B 的所有约数之原创 2013-07-21 10:37:55 · 1178 阅读 · 0 评论 -
Codeforces Round #191 (Div. 2) C magic five
题目大意:给定一个字符串 s,长度 len 最长是100000,接着输入一个整数 k,k 最大是10的9次方,求 k 个 s 连接在一起得到一个串,设为str,从str中删除一些数(也可以不删,但不能全部删除),使得得到的数能够整除5,求共有多少种删除方式,注意:被删除的数的位置不同,算做不同的删除方式。解题思路:我们知道如果一个数能够整除5,那它的个位数一定是 0 或者 5 。因此我原创 2013-07-19 22:29:51 · 781 阅读 · 0 评论 -
POJ 1320 Street Numbers [佩尔方程]
#include#include#includeint main(){ int x,y,x1,y1,px,py,d; x1=3; y1=1; px=3; py=1; d=8; for(int i=1;i<=10;i++) { x=px*x1+d*py*y1; y=px*y1+py*x1;原创 2013-07-11 17:33:52 · 1036 阅读 · 0 评论 -
hdu1575 Tr A(矩阵快速幂模板题)
1A,不解释,直接贴代码!P.S.:此题代码可用作模板#include #include #include #include using namespace std;#define MAXN 12#define M 9973typedef struct{ int m[MAXN][MAXN];}Matrix;Matrix a, per;int n;vo原创 2013-09-01 19:18:58 · 899 阅读 · 0 评论