
2016专题训练4(数论、博弈、组合数学)
金金金金鑫
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 1365 Prime Land
题意:现在给你一个数num思路:由于这个num不大,可以先打张40000以内的质数表,然后对num-1进行质因素分解,分别存储分解的质因数及其出现的次数。#include#include#include#includeusing namespace std;const int MAX=40005;int prime[MAX],cnt,num[MAX];bool vi原创 2016-07-25 22:54:03 · 201 阅读 · 0 评论 -
UVA 10943 How do you add?
题意:给你n原创 2016-07-26 10:32:05 · 234 阅读 · 0 评论 -
UVA 11889 Benefit
题意:给你A,C,让你求lcm(A,B)=C的最小B。思路:由lcm(A,B)=C可得A*B/gcd(A,B)=C,原创 2016-07-26 10:25:37 · 310 阅读 · 0 评论 -
HDU 5446 Unknown Treasure
题意:给你n、m和k个p[i],让你求C(n,m)%(p1*p2*....*pk)的值。思路:一开始以为直接Lucas一遍就可以,结果wrong了。发现这里的p大到1e18(int64最大到9*1e18),所以相乘过程中可能会爆int64,所以我们先分别求出Lucas(n,m)%p[i]的值,然后用中国剩余定理合并值,这里还得注意p[i]#includetypedef __int原创 2016-07-26 00:02:44 · 394 阅读 · 0 评论 -
POJ 2960 S-Nim
题意:原创 2016-07-25 23:59:53 · 201 阅读 · 0 评论 -
POJ 2484 A Funny Game
题意:给你n个珠子的环,两个人轮流取,每个人每次可以取一个或两个但不能不取,问你最后谁赢。思路:当n当n>3时,不管先手怎么取后手都必胜(可以将举几个例子自己画画图算下)。#includeint main(){ int n; while(~scanf("%d",&n),n){ if(n<3) printf("Alice\n"); else printf("Bob原创 2016-07-25 23:48:29 · 158 阅读 · 0 评论 -
POJ 2234 Matches Game
题意:给你n堆石子,两个人轮流取,每个人每次只能取1~该堆个数个石子,问原创 2016-07-25 23:16:55 · 251 阅读 · 0 评论 -
POJ 1006 Biorhythms
题意:给你p, e, i分别表示体力、情感和智力高峰出现的时间和它们的周期长度分别是23天、28天和33天,问你下一次三个都出现高峰的日期是多少,结果模21252。思路:假设那天为T,则有如下公式:T%23=pT%28=eT%33=I得出三个同余方程组,自然想到用中国余定理。#includeusing namespace std;int Extended_Eu原创 2016-07-25 23:09:59 · 199 阅读 · 0 评论 -
POJ 2739 Sum of Consecutive Prime Numbers
题意:给你一个数思路:既然是连续的质数相加而且数最大才一万,那么我们可以先打张10000以内的质数表,然后从枚举第一个相加的质数进行搜索,累加结果。#include#includeconst int MAX=10005;int prime[MAX],num[MAX],cnt,ans,n;bool vis[MAX];void sieve(){ memset(vis,f原创 2016-07-25 23:02:47 · 178 阅读 · 0 评论 -
POJ 1061 青蛙的约会
题意:有两只青蛙相向而行,A青蛙从x点出发每次跳m,B青蛙从y点出发每次跳n,它们所在的地方是一个长度为L的圈,问你最少需要跳几次它们才能相遇,若不能相遇则输出-1.思路:原创 2016-07-26 19:38:46 · 321 阅读 · 0 评论