数论
不吸血的Vampire
这个作者很懒,什么都没留下…
展开
-
中国余数定理:HDU1370
#include #include using namespace std; const int maxn = 5; int arr[maxn]; int brr[maxn]; int cnt; void ex_gcd(int a, int b, int &d, int &x, int &y) { if(b == 0) { x = 1; y =原创 2013-11-17 12:04:00 · 802 阅读 · 0 评论 -
hdu 1249 三角形 组合数学
http://acm.hdu.edu.cn/showproblem.php?pid=1249 一道很好的组合数学题,虽然组合数学没学到多少东西,但看懂这道题,还好,很好很强大! 这道题开始我也不知道做,看了别人代码才知道所以然,开始连图都不会画!回来回想起《组合数学》 卢开澄版 书上在递推一节中讲到了,有关直线,椭圆的相交分割区域问题。很好很强大! 让我进一步加深转载 2014-02-09 10:18:59 · 645 阅读 · 0 评论 -
ZJU 2836
题意:给你n , m 和 n 个数a,找出一个不大于m数且能被任一一个数a [i] 整除,求这样的数有多少个。 注意: 1 利用a[i]的范围和质数的性质(2,3,5,7),删选a[i]个数; 算出交并集的个数; #include #include #include #include #include #include #include #include原创 2014-03-29 22:14:52 · 469 阅读 · 0 评论 -
欧拉定理与应用
在数论中,欧拉定理,(也称费马-欧拉定理)是一个关于同余的性质。欧拉定理表明,若n,a为正整数,且n,a互质,则:原创 2014-04-21 21:15:13 · 3616 阅读 · 0 评论 -
最长上升子序列模板
//最长上升子序列(n^2) //入口参数:1.数组名称 2.数组长度(从0开始) int LIS(int a[],int len) { int *dp=new int[len]; int ans=1; dp[0]=1; for(int i=1;i<len;i++) { int m=0; for(int j=0;j<i;j++) if(dp[j]>m && a[j]<a原创 2014-06-27 14:16:42 · 588 阅读 · 0 评论 -
HDU 3641 Treasure Hunting (素数拆分)
题意:有N个ai,bi,M=a1^b1*a2^b2*a3^b3…*an^bn ,求最小的 x 使得 x! % M ==0. 思路:把M分成多个素数相乘,num[i] 记录素数 i 的个数,然后二分找到x,若 x! 中所有 i 的个数满足>=num[i] 即为答案。 #include #include #include #include #include #include #i原创 2014-07-28 21:12:36 · 742 阅读 · 0 评论