UVA 1494 Qin Shi Huang's National Road System(次小生成树+Prim)

#include #include #include #include #include #include using namespace std; const int maxn=1000+5; int x[maxn],y[maxn],val[maxn]; int n; struct edge{ ...

2016-12-31 23:40:06

阅读数:155

评论数:0

SPOJ Make them equal !

把所有数加起来,对个数取模,如果刚好等于0,那么都可凑成n各ans/n,如果不等于0,可以凑成n-1个(ans-ans%n)/(n-1)。 #include using namespace std; const int maxn=100000+5; int a[maxn]; int main()...

2016-12-31 20:27:13

阅读数:84

评论数:0

POJ 1704 Georgia and Bob(阶梯博弈)

第一题阶梯博弈 之前HDU1730做过两个棋子的,这次是n个棋子,那么2个一组,它们之间的距离就是一个nim,两组之外不需要管,因为前面一个动了,后面跟进维持距离,后面动了,就是距离缩短了,所以某一组的第一个与前一组的后一个的距离是无所谓的。 #include #include using nam...

2016-12-30 20:13:55

阅读数:75

评论数:0

HDU 1517 A Multiplication Game(巴什博弈)

普通的博弈推理,[n,无穷]为必败点,那么[n/9,n-1]为必胜点,#include #include using namespace std; int main() { int n; while(cin>>n) { int i; ...

2016-12-21 22:01:40

阅读数:104

评论数:0

HDU 1536 S-Nim(sg函数)

这题两个坑点,g要排序,这个不难想。 最坑的是Hash数组要换成bool型,int就TLE到死吧。 #include #include #include using namespace std; const int maxn=1e4+5; int sg[maxn],g[maxn]; bool ...

2016-12-21 21:42:50

阅读数:101

评论数:0

HDU 5996 dingyeye loves stone(Nim 变形)

对数深度为偶数的节点,不需要考虑,因为这是必败态,留给对手,每次对手动,跟进就可以了。 对于奇数深度的节点是正常比赛的关键,并且这些节点符合Nim博弈。 #include using namespace std; const int maxn=1e5+5; int dep[maxn]; int...

2016-12-21 20:56:59

阅读数:117

评论数:0

HDU 1849 Rabbit and Grass(Nim game)

#include using namespace std; int main() { int n; while(cin>>n) { if(n==0) break; int k,ans=0; for(int i=0;...

2016-12-21 16:04:01

阅读数:105

评论数:0

sg函数模版

可以根据题目要求,设计好g,然后求sg,模版中的g是斐波那契数列。void cal_sg() { g[1]=1;g[2]=2; for(int i=3;i<=20;i++) g[i]=g[i-1]+g[i-2]; memset(sg,0,sizeof(sg)); ...

2016-12-21 15:59:31

阅读数:115

评论数:0

HDU 1848 Fibonacci again and again(博弈sg函数)

#include #include using namespace std; const int maxn=1000+5; int Hash[maxn]; int sg[maxn],f[maxn]; int g[20]; void cal_sg() { g[1]=1;g[2]=2; ...

2016-12-21 15:58:25

阅读数:109

评论数:0

HDU 1847 Good Luck in CET-4 Everybody!(博弈sg函数)

#include #include using namespace std; const int maxn=1000+5; int Hash[maxn]; int sg[maxn],f[maxn]; int g[15]={1,2,4,8,16,32,64,128,256,512,1024}; vo...

2016-12-21 15:53:30

阅读数:112

评论数:0

HDU 2149 Public Sale(巴什博弈)

#include using namespace std; int main() { int m,n; while(cin>>m>>n) { if(m<=n){ for(int i=m;i<=n;i...

2016-12-20 21:25:48

阅读数:80

评论数:0

HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者(巴什博弈)

#include using namespace std; int main() { int t; cin>>t; while(t--) { int n,m; cin>>n>>m; ...

2016-12-20 21:04:47

阅读数:84

评论数:0

HDU 2147 kiki's game(巴什博弈)

* 博弈论:组合博弈 * 必败点(P点) :前一个选手(Previous player)将取胜的位置称为必败点。 * 必胜点(N点) :下一个选手(Next player)将取胜的位置称为必胜点。 * 必败(必胜)点的属性: * (1) 所有终结点是必败点(P点); * (2) ...

2016-12-20 20:51:15

阅读数:110

评论数:0

HDU 1846 Brave Game(巴什博弈)

#include using namespace std; int main() { int t; cin>>t; while(t--) { int n,m; cin>>n>>m; ...

2016-12-20 20:05:45

阅读数:77

评论数:0

HDU 1730 Northcott Game(Nim game)

把黑子与白子之间的距离当作每一堆石子的个数,那么只要第一次看一下异或后的值ans是否为0即可判断是否必败还是必胜了。 因为ans不等于0,那么先手走完一部后,后手面对的局面就是必败态了,后手移动以后,那一堆的石子增加了,那么先手只要使那一堆石子恢复成必败态即可。 ans等于0的情况也类似。#i...

2016-12-20 10:16:22

阅读数:81

评论数:0

HDU 1907 John(Nim game)

这题需要特判一下, 如果所有堆都为孤独堆,那么看n的奇偶性来判断胜负。 其他情况普通的Nim判断就可以了。#include using namespace std; int main() { int t; cin>>t; while(t--) { ...

2016-12-19 21:18:23

阅读数:81

评论数:0

HDU 2176 取(m堆)石子游戏(Nim game)

#include using namespace std; const int maxn=200000+5; int N[maxn]; int main() { int m; while(cin>>m) { if(m==0) break; ...

2016-12-19 21:01:13

阅读数:148

评论数:0

尼姆博弈(Nimm's Game)

尼姆博弈(Nimm's Game) 题型 尼姆博弈模型,大致上是这样的: 有3堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取1个,多者不限,最后取光者得胜。   分析 1、首先自己想一下,就会发现只要最后剩两堆物品一样多(不为零),第三堆为零,那面对这...

2016-12-19 20:50:08

阅读数:101

评论数:0

HDU 1850 Being a Good Boy in Spring Festival(Nim game)

#include using namespace std; const int maxn=100+5; int N[maxn]; int main() { int m; while(scanf("%d",&m)&&m) { ...

2016-12-19 20:49:38

阅读数:91

评论数:0

哈尔滨理工大学第六届程序设计团队赛网络同步赛

弱队只过了7题,吃完饭回来补吧。

2016-12-10 14:03:08

阅读数:353

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭