![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
------数学
_zhj
加油!
展开
-
HDU4135容斥原理
题意:给三个数a、b和n,求区间[a,b]中与n互质的数的个数。1 15,1 9。解析:本题直接求与n互质的数的话,由于区间范围太大,肯定超时。因此可以用全部的数,减去与n不互质即有公因子的数的个数。1、先求出n的所有质因子2、由于区间【1,m】中,含有质因子x的数的个数为m/x,因此把含有x的数都减去,即减去m/x个。遍历所有的质因子,依次减去。但是这样减的话,会多减去一些数,正原创 2017-05-11 17:00:20 · 322 阅读 · 0 评论 -
组合数取模
组合数取模就是求的值,当然根据,和的取值范围不同,采取的方法也不一样。下面学习三种求法,参考ACdreamer大神1、当和时,这个问题比较简单,组合数的计算可以靠杨辉三角,那么由于和的范围小,直接两层循环即可。代码:void getc(){ memset(C, 0, sizeof(C)); C[0][0] = 1; for(int i = 1; i < maxn; i++){原创 2017-07-29 11:01:37 · 318 阅读 · 0 评论 -
中国剩余定理
参考自:http://blog.csdn.net/acdreamers/article/details/8050018中国剩余定理(CRT)的表述如下 设正整数两两互素,则同余方程组 有整数解。并且在模下的解是唯一的,解为转载 2017-07-28 17:40:05 · 163 阅读 · 0 评论 -
除法取模和逆元
对于正整数和,如果有,那么把这个同余方程中的最小正整数解叫做模的逆元。如果要求a/b%m,下面是三种求逆元的方法:1、如果m为素数,可以根据费马小定理得到逆元为。推理:2、当a和m互质时,可以用拓展欧几里德定理求。原创 2017-07-27 16:03:42 · 593 阅读 · 0 评论 -
HDU5019Revenge of GCD
Revenge of GCDTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2588 Accepted Submission(s): 736Problem DescriptionIn mathemati原创 2017-07-25 19:04:20 · 298 阅读 · 0 评论 -
poj2115C Looooops 拓展欧几里德
C LooooopsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 27800 Accepted: 7915DescriptionA Compiler Mystery: We are given a C-language style for loop原创 2017-07-22 16:55:50 · 235 阅读 · 0 评论 -
欧几里德与拓展欧几里德定理
一、欧几里德定理欧几里德定理就是辗转相除法的原理,用来求两个整数的最大公约数gcd(a, b)。推理过程:辗转相除法是由辗转相减法而来的,如果a和b(假设a>b)的最大公约数是k,那么可以这样表示a和b:a = x*k, b = y*k;那么a-b = (x-y)*k,此时(a-b)和b的最大公约数也是k,因为:如果它俩的最大公约数是k*t的话,那么b可以整除k*t,(a-原创 2017-07-21 18:09:30 · 1842 阅读 · 0 评论 -
HDU4990 Reading comprehension
Reading comprehensionTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1895 Accepted Submission(s): 753Problem DescriptionRead the原创 2017-07-19 10:16:36 · 284 阅读 · 0 评论 -
HDU4986 Little Pony and Alohomora Part I
本题需要用到欧拉常数和递推。题意:有n个箱子,n把钥匙随机的放在里面,问打开所有箱子的期望。解析:每种情况都相当于一个循环的置换个数。循环置换个数求解:那么考虑f[i]为i个箱子的情况,f[i + 1]要么就是放在最后多一个循环,要么就是插入中间循环个数不变,对应的转移为f[i + 1] = (f[i] + 1) / i + f[i] * (i - 1) / i 化简得到f[i]原创 2017-07-05 19:47:01 · 286 阅读 · 0 评论 -
HDU4983 Goffi and GCD
Goffi and GCDTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1259 Accepted Submission(s): 436Problem DescriptionGoffi is doin原创 2017-06-11 18:22:11 · 264 阅读 · 0 评论 -
素数筛选法(普通筛和线性筛)
题目:给定一个n,求1~n的所有素数。下面介绍两种素数筛选法:第一种:普通筛法。时间复杂度是O(nloglogn),不足之处在于一个合数可能被筛选多次。代码:void Prime (){ memset(tag,0,sizeof(tag)); tag[0]=tag[1]=1; for(int i=2; i*i <= n; i++) if(tag[i]==0){原创 2017-06-02 10:51:06 · 4910 阅读 · 0 评论 -
HDU4908 BestCoder Sequence
BestCoder SequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1955 Accepted Submission(s): 653Problem DescriptionMr Potat原创 2017-05-22 11:05:10 · 277 阅读 · 0 评论 -
求欧拉函数
欧拉函数的定义: 在数论中,对于正整数N,少于或等于N ([1,N]),且与N互质的正整数(包括1)的个数,记作φ(n)。φ函数的值: φ(x)=x(1-1/p(1))(1-1/p(2))(1-1/p(3))(1-1/p(4))…..(1-1/p(n)) 其中p(1),p(2)…p(n)为x的所有质因数;x是正整数; φ(1)=1(唯一和1互质的转载 2017-06-01 11:20:52 · 467 阅读 · 0 评论 -
数学函数
三角函数:(所有参数必须为弧度) 1.acos 函数申明:acos (double x); 用途:用来返回给定的 X 的反余弦函数。 2.asin 函数申明:asin (double x); 用途:用来返回给定的 X 的反正弦函数。 3.atan 函数申明:atan (double x); 用途:用来返回给定的 X 的反正切函数。转载 2017-05-18 10:31:02 · 259 阅读 · 0 评论