摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1536只要构造好SG函数就行:AC代码:#include<iostream>using namespace std;#include<string.h>int a[110],k; //k为全局变量int sg[10010],flag[110];void SG() //SG函数{ int i,j; for(i=0;i<=10000;i++) { memset(flag,0,sizeof(flag)); for(j=0;j<k;j++) ... 阅读全文
posted @ 2012-04-21 23:49
龙杉老师
阅读(285)
评论(0)
推荐(0)
摘要:
小于x且与x互素的正整数的个数如果x为素数,则欧拉函数等于x-1求法:将x分解为p1^n1*p2^n2*…pk^nk,则欧拉函数=x*(1-1/p1)*(1-1/p2)…*(1-1/pk);代码如下:#include<iostream>using namespace std;#include<string.h>#include<math.h>#define M 10000int p[M],a[M+1],p1[M];void prime(){ memset(a,0,sizeof(a)); int i,j,k=0,m; m=(int)(sqrt(M*1.0)); 阅读全文
posted @ 2012-04-21 15:47
龙杉老师
阅读(213)
评论(0)
推荐(0)
摘要:
已知n=p1^a1*p2^a2…*pk^ak,(也就是n的素数分解),求n的约数个数。分析:n的约数一定包含素因子中的某几项,对于n的某个素因子pi,它在约数中的指数可以是0,1,2…ai共ai+1种情况,根据乘法原理:n的约数个数=(a1+1)*(a2+1)…*(ak+1)自己写的代码如下:#include<iostream>//求n以内的公约数的个数using namespace std;#include<string.h>#include<math.h>#define M 10000int p[M],a[M+1],b[M],c[M];void prim 阅读全文
posted @ 2012-04-21 14:43
龙杉老师
阅读(1011)
评论(0)
推荐(0)
摘要:
^^^转载请注明出处~~~The Sprague-Grundy theory of impartial games公平游戏的Sprague-Grundy定理公平游戏是一种双人游戏,在游戏中双方都有完整的信息,没有牵涉,任何状态的合法操作对双方来说都是相同的。一个公平游戏可以抽象地用一个有向无环图来表示,这个图中每个点都对应这一个状态,每条有向边代表从一个状态到另一个状态的合法操作。我们可以想象一个代币最初放在某个点上,然后两个玩家轮流将其从当前的点移动到它的后继点。当代币移动到汇点时游戏结束,汇点是一个没有出度的点,最后一个需要操作的玩家就是胜者。P- 和 N-状态如果双方都按照最佳策略进行游 阅读全文
posted @ 2012-04-21 09:58
龙杉老师
阅读(6112)
评论(0)
推荐(2)

浙公网安备 33010602011771号