上一页 1 2 3 4 5 6 7 8 ··· 30 下一页
摘要: 思路:先生成序列再求异或,最多的可能为n*(n+1)/2;在去掉其中必败的序列,也就是a[i]=a[j]之间的序列。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define ll long long 9 #define M 10000510 #define inf 1e1011 #define mod 100000000712 using namespace std;13 int n,s,w,a[M];14 int main()15 {16 int i,j,t... 阅读全文
posted @ 2013-09-25 18:53 _随心所欲_ 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 思路:每个数的SG值就是其质因子个数,在进行nim博弈代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define ll long long 9 #define M 500000510 #define inf 1e1011 #define mod 100000000712 using namespace std;13 int prime[M/3],cnt,sg[M],a[100005];14 bool f[M];15 void init()16 {17 cnt=0... 阅读全文
posted @ 2013-09-25 12:55 _随心所欲_ 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 思路:P态的所有后继全为H态,第一个格子为P态,第一行和第一列为H态。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define ll long long 9 #define M 8000410 #define inf 1e1011 #define mod 100000000712 using namespace std;13 int m,n;14 char ans[M];15 int cal(int x,int y)16 {17 return x*m+y;18... 阅读全文
posted @ 2013-09-25 11:24 _随心所欲_ 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 思路:dp[i][j][k]:满足在字符串的j位,前一位数字是k。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define ll long long 7 #define M 100000000 8 using namespace std; 9 char str[101],a[101],b[101];10 int len,bit[101],dp[101][101][10];11 bool ok(int i,int u,int v)12 {13 if(str[i]=='/') return uv;1 阅读全文
posted @ 2013-09-24 14:49 _随心所欲_ 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 这个纯粹是一个细节题啊!!!由于某个地方的浮点数比较写错了,WA了无数次啊……代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 char str1[10],str2[10]; 8 double h,s,l,r,g,b,v; 9 bool is(double h,double a,double b) 10 { 11 if(h-a>=-1e-8&&h-b=b) h=60*(g-b)/t; 54 else if(ma-r<1e-8&&g 阅读全文
posted @ 2013-09-23 20:29 _随心所欲_ 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 比赛的时候,被题目误导了,题目最后说结果可能很大,要取模,那时就想直接求会TLE的!!!赛后才知道,坑啊…………代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define ll long long 7 #define M 80001 8 #define mod 1000000007 9 using namespace std;10 int prime[M/3],cnt,p[M];11 bool f[M];12 void init()13 {14 cnt=0;15 memset(f,0,sizeof... 阅读全文
posted @ 2013-09-23 12:55 _随心所欲_ 阅读(284) 评论(0) 推荐(1) 编辑
摘要: 思路:状态最多有2^12,采用记忆化搜索!!代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define inf 1v) swap(u,v);67 for(int i=0;i0?"Tom200":"Jerry404");90 }91 return 0;92 }View Code 阅读全文
posted @ 2013-09-21 18:28 _随心所欲_ 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 暴力打表!!代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define M 1000000 7 #define ll __int64 8 using namespace std; 9 int sg[1000000];10 int get_len(int n)11 {12 if(n>=100000) return 6;13 else if(n>=10000) return 5;14 else if(n>=1000) return 4;15 else if(n>=100) return... 阅读全文
posted @ 2013-09-20 22:26 _随心所欲_ 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 其实规律很好找的,当从某点开始,向某一边找出非0的个数,为奇数时必胜。代码如下: 1 #include 2 #include 3 using namespace std; 4 int n,a[25]; 5 bool dfs(int m) 6 { 7 int cnt=0,i=m,k; 8 while(a[i]) i=(i+1)%n,cnt++; 9 if(cnt&1) return 1;10 i=(m+n-1)%n;cnt=0;11 while(a[i]) i=(n+i-1)%n,cnt++;12 if(cnt&1) return 1;13 ... 阅读全文
posted @ 2013-09-20 21:47 _随心所欲_ 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 思路:HDU有过类似的题目,也就是谁面对FIB数,就处于必败状态。再求第二问的时候要注意不一定要在一步之内就让对手处于必败状态,可以多步进行,这个过程可以用递归实现。代码如下: 1 #include 2 using namespace std; 3 int fib[44]; 4 int dfs(int n) 5 { 6 int k=0; 7 while(fib[k]>n){18 int k=0;19 while(fib[k]<n) k++;20 if(fib[k]==n) cout<<"lose"<<endl;21 ... 阅读全文
posted @ 2013-09-20 20:30 _随心所欲_ 阅读(158) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 30 下一页