![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
文章平均质量分 73
a7f650ebd327889c
这个作者很懒,什么都没留下…
展开
-
hdu 4549 M斐波那契数列
题意: f[0]=a; f[1]=b; f[i]=f[i-1]*f[i-2]; 给出a,b,n; 求f[n]; 思路: f[0]=a^1 b^0 f[1]=a^0 b^1 f[2]=a^1 b^1 f[3]=a^1 b^2 f[4]=a^2 b^3 f[5]=a^3 b^5 可以看到 a,b的指数是斐波那契数列 也就是先求得a,b的指数再求 (a^n * b^m )原创 2017-08-16 13:16:53 · 207 阅读 · 0 评论 -
Beijing 2008 HDU - 1852 数论
题意: 输入n,k , 令m=(2008^n的因子和)mod k,输出 (2008^m)mod k 思路: 因子和: 2008=2^3 * 251 m=((1+2+2^2+……+ 2^(3*n) ) * (1+251+……+251^n) /250 ) %k 利用等比数列求和公式: 其中 2-1=1,不必除了,251-1=250,乘法逆元? 由于 250原创 2017-07-22 16:30:16 · 206 阅读 · 0 评论 -
I - 本原串 HDU - 2197
由0和1组成的串中,不能表示为由几个相同的较小的串连接成的串,称为本原串,有多少个长为n(n<=100000000)的本原串? 答案mod2008. 例如,100100不是本原串,因为他是由两个100组成,而1101是本原串 input 1 2 3 4 output 2 2 6 12 显而易见,部位本源串的时候出现循环,有循环节,即n被整除了 f(n)=2^n原创 2017-07-22 19:44:50 · 204 阅读 · 0 评论 -
J - Special Prime HDU - 2866
J - Special Prime HDU - 2866 题意: 在给定的【2,L】 区间内,找到特殊的素数p的个数,使得 n^2+p*n=m^3,其中m,n为自然数 例如: L =20,在【2,20】中,special prime 有7,19; 1^3 + 7*1^2 = 2^3 8^3 + 19*8^2 = 12^3 看了很多博客,得到规律:原创 2017-07-22 21:54:10 · 237 阅读 · 0 评论 -
GCD and LCM HDU - 4497
题意:给出G,L ,求解有多少(x,y,z)使得 G=gcd(x,y,z),L=lcm(x,y,z); 思路: #include using namespace std; int main() { int t; long long g,l,ans,b; scanf("%d",&t); while(t--) { scanf("%lld%lld",&g,&l); if(l%g!=0)原创 2017-07-23 14:54:28 · 192 阅读 · 0 评论 -
hide handkerchief HDU - 2104
题意:没认真读,打概,就是有n给人玩找手绢的游戏,从出发点,跨过(m-1)个人循环的找问能否找到手绢; 思路:如果循环了就不能找遍每一个位置了, 比如 n=6,m=2; 1->3->5->1->3->5……,这样2,4,6永远没能查看, 而 n=6,m=5, 1->6->5->4->3->2, 这样就找遍了每一个位置 可以看出当m是n的整倍数时会出现这样的情况,即 gcd(m,n原创 2017-07-23 15:05:55 · 190 阅读 · 0 评论 -
C - Revenge of GCD HDU - 5019
题意:给出a,b,k,求出k-thgcd,我的理解是第k大的公因子 思路:先求出c=gcd(a,b),显然c为第一大公因子,第k大的公因子即c的第k大因子 复杂度:当a,b=10^12,时c也为10^12,找出全部因子为O(根号n),即(10^6)左右 #include #include #include using namespace std; long long gcd(long lon原创 2017-07-24 12:37:06 · 187 阅读 · 0 评论 -
GCD HDU - 2588
题意:给定M,N,求 x 在【1,N】,gcd(N,x)>=M 的 x 的个数 先讲讲欧拉函数吧 在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1),或者说在【1,N】中原创 2017-07-26 20:21:07 · 203 阅读 · 0 评论 -
Become A Hero HDU - 2654
题意:输入n,求【1,n】中有多少个整数使得 LCM( i , n) 思路: LCM( a * b ) = a * b /gcd(a,b) 当gcd(a,b)=1时不满足 LCM( i , n) n的欧拉函数值 可以先打表或者直接写欧拉函数#include #define maxn 2000000 int p[maxn+1]; int oula(int a)原创 2017-07-31 16:47:26 · 275 阅读 · 0 评论 -
U - 青蛙的约会 扩展欧几里得 最小正整数解
青蛙的约会 传送门:http://poj.org/problem?id=1061 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。原创 2017-07-18 19:32:21 · 322 阅读 · 0 评论