数论
sumi
无冥冥之志者无昭昭之明 无惛惛之事者无赫赫之功!
有问题欢迎大家联系我,扣扣2513822561
展开
-
(转)素数测试算法(基于Miller-Rabin的MC算法)
(转)素数测试算法(基于Miller-Rabin的MC算法)http://hi.baidu.com/hymcorn/blog/item/f2cfaa89db0e6993a4c272a0.html2009-02-07 19:21在以往判断一个数n转载 2011-08-03 10:37:09 · 1232 阅读 · 0 评论 -
数学类题目小结
数学类题目小结转载自:http://hi.baidu.com/yanjingtao/blog/item/151761d0cf221782a0ec9c3b.html 从放暑假前周sir给我讲了一个用polya计数法和burnside定理做的题目(pku2409)后,突然觉得组合数学挺有意思,然后从那时起到现在几乎都在做这类的题目。 做到现在感觉这类题目的一些基本知转载 2012-04-20 18:33:40 · 443 阅读 · 0 评论 -
高斯消元法(Gauss Elimination) 分析 & 题解 & 模板——czyuan原创
转载自:http://hi.baidu.com/czyuan_acm/blog/item/ebf41f8fdc0e1ee6f01f36e9.html高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵。高斯消元法的原理是:若用初等行变换将增广矩阵 化为 ,则AX = B与CX = D是同解方程组。所以我们可以用 初等行变换 把增转载 2012-06-06 14:31:52 · 1897 阅读 · 1 评论 -
poj 1830 开关灯问题(高斯消元法)
题目分析:注意:有个地方要反过来#include#include#include#include#includeusing namespace std;const int maxn=110;int a[maxn][maxn];int n,a1[maxn],a2[maxn];inline int fab(int x){ return x>0?x:-x;}inlin原创 2012-06-07 13:37:06 · 1803 阅读 · 0 评论 -
XTU 1140
题目分析:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1140#include#include#includeusing namespace std;int arr[1000100];int notprime[1000100];int a[1000100];__int64 p[1000100];原创 2012-05-19 22:17:03 · 862 阅读 · 1 评论 -
XTU 1142 Collatz Conjecture
题目分析:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1142#include#includeusing namespace std;struct node{ __int64 num,sum; int flag;}arr[10000020];int main(){ in原创 2012-05-19 22:19:06 · 693 阅读 · 0 评论 -
hdu 4342 History repeat itself
题意:求第n个非完全 平方数m,并求 求和sqrt(i)(1分析:m-sqrt(m)求和过程:1+sqrt(2)+sqrt(3)+sqrt(4)+sqrt(5)+sqrt(6)+sqrt(7)+sqrt(8)+sqrt(9)+sqrt(10)+......+sqrt(m),代码:#include#include#includeusing namespace std原创 2012-08-08 09:16:00 · 442 阅读 · 0 评论 -
zoj 3622 Magic Number (找规律+打表)
题目分析:X为任意正数,正数Y,满足(X*10^y+Y)%Y=0,数Y被称为magic number。找出M~N之间的所有magic number。1~10^4之间的magic number的数字有:1, 2, 5,10, 20, 25, 50,100, 125, 200, 250, 500, 1000, 1250, 2000, 2500, 5000 规律就出来了,,,其他的原创 2012-07-29 21:34:25 · 1426 阅读 · 0 评论 -
hdu 4320 Arcane Numbers 1
题目分析: 给一个A进制的有限小数,能否转化成B进制的有限小数,给出A,B,如果能,输出YES,否则输出NOX/A^i-----Y/B^j.........化成,A^i*X/(A^i*B^j).....可以看出如果A中所有的质因数,在B中都出现了,就是YES 1.先求出,A和B的最大公约数X,然后,将A不要断除以temp=gcd(A,X),,,最后剩下的就是 A原创 2012-08-01 13:12:55 · 660 阅读 · 0 评论 -
hdu 4389 X mod f(x) (打表)
分析: 暴力超时,听了大牛的话,打表,每个20万算一次代码:#include#include#includeusing namespace std;const int MAX=1000000010;const int m=200000;int arr[5010]={23038,20653,18653,17150,15934,21823,19675,17827,16462,15原创 2012-08-21 18:55:07 · 1846 阅读 · 0 评论 -
hdu 2256 Problem of Precision(矩阵乘法)
题目分析:(图片转载别人的)代码:#include#include#includeusing namespace std;struct node{ int matrix[3][3];}ma,e;node operator *(node x,node y){ node temp; for(int i=1;i<=2;i++) for(int j=1;j<=2;原创 2012-09-12 23:07:43 · 854 阅读 · 0 评论 -
斐波那契序列 集锦
转载自:http://www.cnblogs.com/Knuth/archive/2009/09/04/1559951.html[定理1] 标准Fibonacci序列(即第0项为0,第1项为1的序列)当N大于1时,一定有f(N)和f(N-1)互质其实,结合“互质”的定义,和一个很经典的算法就可以轻松证明对,就是辗转相除法互质的定义就是最大公约数为1数学归纳法是很有用的证明方转载 2012-09-16 15:47:49 · 966 阅读 · 0 评论 -
hdu 2855 Fibonacci Check-up+矩阵乘法+fibonacci
参考这里http://hi.baidu.com/nanjingtianzi/item/2ad2e23d77e746667c034b63代码:#include#include#include#includeusing namespace std;struct node { int matrix[3][3];}ma,e;int m,n;node operator *(nod原创 2012-09-19 21:11:15 · 787 阅读 · 0 评论 -
POJ 数论题集
博弈论POJ 2234 Matches GamePOJ 2975 NimPOJ 2505 A multiplication gamePOJ 1067 取石子游戏POJ 2484 A Funny GamePOJ 2425 A Chess GamePOJ 2960 S-NimPOJ 1704 Georgia and BobPOJ 1740 A New Stone转载 2012-09-20 19:33:18 · 896 阅读 · 0 评论 -
hdu 2842 Chinese Rings(矩阵乘法+递推)
分析:要摘下或着是装上第n个环的条件是:第n-1个环要在杆上,前n-2个环要不在杆上。故:f(n)=f(n-1)+2*f(n-2)+1;注意:用int是wa,要用__int64代码:#include#includeusing namespace std;const int N=200907;struct node { __int64 matrix[4][4];}m原创 2012-09-22 20:08:58 · 752 阅读 · 0 评论 -
hdu 4475 找规律
设size=i,答案是ai; a1=2=1+1; a2=8=2+2*2+2; a3=48=8+8*2+8*2+8; a4=384 =48+48*2+48*2+48*2+48; ......很明显规律:an=an-1+2*(n-1)an-1+an-1=2*n*an-1; 即:an=2^n*n!注意:1.an=原创 2012-12-01 21:42:53 · 795 阅读 · 0 评论 -
hdu 1431 素数回文
分析:先生成回文数,在判断是不是质数;生成回文数的方法很巧妙,在网上找的资料#include#include#includeusing namespace std;int palind_prime[10000];bool is_prime(int a){ for(int i=2;i<=(int)sqrt(a+0.5);i++) { if(a%i==0) re原创 2012-04-19 17:59:53 · 483 阅读 · 0 评论 -
斐波那契序列 集锦
斐波那契序列 集锦http://www.cnblogs.com/Knuth/archive/2009/09/04/1559951.html[定理1] 标准Fibonacci序列(即第0项为0,第1项为1的序列)当N大于1时,一定有f(N)和f(N-1)互质其实,结合“互质”的定义,和一个很经典的算法就可以轻松证明对,就是辗转相除法互质的定义就是最大公约数为1数学归纳法是很有转载 2012-04-19 21:12:11 · 881 阅读 · 0 评论 -
扩展欧几里德算法 线性同余方程 中国剩余定理
扩展欧几里德算法 线性同余方程 中国剩余定理转载于http://hi.baidu.com/%B1%BF%D0%A1%BA%A2_shw/blog/item/0676025d56a87d4afbf2c093.html 欧几里德算法转载 2011-08-06 23:13:58 · 676 阅读 · 0 评论 -
HDU 1042 N! (模拟 高精度)
#include//10000!=2.85 e35659,N开100000超时, 开10000WA了#include#includeusing namespace std;const int N=40000;int a[N];int原创 2011-10-18 22:13:17 · 906 阅读 · 0 评论 -
hdu 1099 Lottery
//求 n(1+1/2+1/3+....1/n)------m+a/b犯了好几个错误 检查了 两个小时 ,咕~~(╯﹏╰) 很水的题 ,老犯逻辑错误 哎 要命//原题链接http://acm.hdu.edu.cn/showproblem.php?pid=1099#include#includeusing namespace std;typedef __int6原创 2012-01-10 15:18:31 · 481 阅读 · 0 评论 -
一些数论的公式(转载)
以下等式或者不等式均可以用数学归纳法予以证明!1 + 3 + 5 + ... + (2n - 1) = n^21*2 + 2*3 + 3*4 + ... + n*(n + 1) = n*(n + 1)*(n + 2) / 31*1! + 2*2! + 3*3! + ... + n*n! = (n + 1)! - 11^2 + 2^2 + 3^2 + ... + n^转载 2012-02-02 12:52:28 · 492 阅读 · 0 评论 -
浮点数取整.
C语言有以下几种取整方法: 1、直接赋值给整数变量。如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分 2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),但是整数除法对负数的取整结果和使用的C编译器有关。 3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如: floor(2.5) = 2转载 2012-02-04 13:01:23 · 1115 阅读 · 0 评论 -
欧拉函数
http://www.cnblogs.com/cherip/archive/2008/09/23/1297503.html欧拉函数的定义:E(k)=([1,n-1]中与n互质的整数个数). 因为任意正整数都可以唯一表示成如下形式: k=p1^a1*p2^a2*……*pi^ai;(即分解质因数形式) 可以推出:E(k转载 2012-02-04 10:28:04 · 568 阅读 · 0 评论 -
poj 1942 Paths on a Grid
#include#includeusing namespace std;/*int com(int n,int r)//C(n,r){if(n-r>r)r=n-r;int i,j=1,ans=1;for(i=0,j=1;i{ans*=(n-i);for(;jans/=j;}return ans;}*/long long com(lon原创 2012-03-06 22:41:48 · 383 阅读 · 0 评论 -
poj21029 Power of Cryptography
注意:再次复习一下C++的基础类型 长度 有效数字 绝对值范围float 32 6~7 10^(-37) ~ 10^38double 64 15~16 10^(-307) ~ 10^308long double 128 18~19原创 2012-03-13 14:58:05 · 347 阅读 · 0 评论 -
欧拉函数及其延伸
原文地址:欧拉函数及其延伸 作者:依然欧拉函数:少于或等于n的数中,与n互质的数的数目。(互质:最大公因数为1)通式:φ(x) = x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),,其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1) = 1。例如:12 = 2*2*3, 那么φ(12) = 12*(1-1/转载 2012-04-24 15:42:08 · 919 阅读 · 0 评论 -
POJ数学题目
题号 分类 注释状态1012 递归 recursionjoseph问题,joseph是经典的递归问题1186 双向枚举 现枚举前一半,再二分查找后一半是否有对应的值 1285 组合 & 计数 有限制的可重复排列 dp (pku 的 G++不识 unsigned long long 尴尬)1286 burnside 2154的简化版 1316 质因数分转载 2012-04-12 08:46:32 · 1157 阅读 · 0 评论 -
关于素数的一些题目
看了czyuan的总结,决定先找几道素数的题目玩玩...首先,判定素数的方法除了暴力枚举到根号n外还有筛法,不要小看,他可以演变出一些题目for (i=2;i{ if (!is[i]) { prime[pl++]=i; if (1LL*i*i>1LL*maxn) continue;转载 2012-04-29 21:39:06 · 821 阅读 · 0 评论 -
hdu 4215 Number Theory?(打表)
题目:E(N) = |{i | gcd(N, i) = 1, 1 F(N) = |{i | N % i = 0, 1 求有多少区间段[l,r](1打表后,发现29以后都是10 ^-^#include#includeusing namespace std;int main(){ int answer[31]={0,1,1,2,2,4,5,5,6,6,7原创 2012-04-17 13:33:54 · 1095 阅读 · 0 评论 -
hdu 2136 Largest prime factor
题目:给一个数n,求它的最大质因数是第几个质数,1的为0, 2,3,5,7...分别为1,2,3,4......分析:先打表吧1到1000000的质数到找出来放到prime[],在查找一直TLE....,参考了别人的思想,开一个数组prime【i】,先把2的倍数,赋值为1,3的倍数赋值为2,5的倍数赋值为3,..........以此类推....为了方便找质数,开一个数组vis【】吧访问原创 2012-04-18 21:41:40 · 560 阅读 · 0 评论 -
hdu 2098 分拆素数和(水题)
题目分析:把一个偶数,拆成两个不同的质数,有集中拆发,给一个偶数n#include#includeusing namespace std;int main(){ int vis[10100]; memset(vis,0,sizeof(vis)); vis[1]=1; vis[0]=1; for(int i=2;i<=10000;i++) { for原创 2012-04-18 22:34:11 · 847 阅读 · 0 评论 -
回文数的生成
转载自:http://blog.sina.com.cn/s/blog_4d3c631901000b9k.html回文数怎样生成?? 这样来考虑: 11 22 33 101 202 313 5566 7788 10001 可由类似这种公式来生成 10001 * n + 1010 * m + 100 * p 五位数 所以我们可以利用这种思路来形成1 - 10^9范围内的回文数表转载 2012-04-19 15:59:52 · 1520 阅读 · 1 评论 -
N的阶乘末尾有多少个0
问题:N的阶乘(N!)中的末尾有多少个0? 例如:N = 5,N! = 120.末尾有1个0. 分析:想到这个问题,有人可能第一反应就是现求出N!,然后再根据求出的结果,最后得出N!的末尾有多少个0。但是转念一想,会不会溢出,等等。 其实,从"那些数相乘可以得到10"这个角度,问题就变得比较的简单了。 首先考虑,如果N的阶转载 2014-04-08 22:40:19 · 907 阅读 · 0 评论