摘要:
#includeusing namespace std;int main(){int a,b;cin>>a>>b;a^=b;b^=a; //交换a^=b;cout<<a<<" "<<b<<endl;puts(a?"Stan wins.":"Ollie wins.");return 0;}给定两个正... 阅读全文
摘要:
#includeusing namespace std;int main(){int a,b;cin>>a>>b;a^=b;b^=a; //交换a^=b;cout<<a<<" "<<b<<endl;puts(a?"Stan wins.":"Ollie wins.");return 0;}给定两个正... 阅读全文
摘要:
原题:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2083大意:两个人分别对n条绳子染 每次染m长 最后染不下的输,问先手胜负思路:每一条绳子看做一个子问题(求每个绳子的SG再异或就是整个事件的SG),每条绳子 染的m的段... 阅读全文
摘要:
尼姆博奕(Nimm Game):有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 这种情况最有意思,它与二进制有密切关系,我们用(a,b,c)表示某种局势,首先(0,0,0)显然是奇异局势,无论谁面对奇异局势,都必然失败。第二种奇异局势是(0,n... 阅读全文
摘要:
这个写的不错威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 这种情况下是颇为复杂的。我们用(ak,bk)(ak ≤ bk ,k=0,1,2,…,n)表示两堆物品的数量并称其为局势,如果甲面对... 阅读全文
摘要:
巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r... 阅读全文
摘要:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3057有豆类三个桩。TT和DD挑选任意数量的豆子从任何两堆轮流任何桩或相同的数字。谁拿到最后一个Bean将获胜。TT和DD是很聪明的。#include #define N 3... 阅读全文
摘要:
题意:首先输入K 表示一个集合的大小 之后输入集合 表示对于这对石子只能去这个集合中的元素的个数之后输入一个m 表示接下来对于这个集合要进行m次询问之后m行 每行输入一个n 表示有n个堆 每堆有n1个石子 问这一行所表示的状态是赢还是输 如果赢输入W否则L思路:对于n堆石子 可以分成n个游戏 之后把... 阅读全文
摘要:
做的第一道字典树的题,算比较水的;-->>>:传送门代码: #include #include#define MAX 26//using namespace std; typedef struct TrieNode //Trie结点声明 { //bool... 阅读全文
摘要:
额,还有:区间操作,交,并,补等区间合并扫描线这些问题有空再研究吧.... 先看j2ee了.....传送门 版权声明:本文为博主原创文章,未经博主允许不得转载。 阅读全文
摘要:
poj2528 Mayor’s posters题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报思路:这题数据范围很大,直接搞超时+超内存,需要离散化:离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2000],[1990,2012] 我们用不到[-∞,999][1001,... 阅读全文
|