会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
walfy
博客园
首页
新随笔
联系
管理
06 2017 档案
hdu3544找规律
摘要:如果x>1&&y>1,可以简化到其中一个为1的情况,这是等价的,当其中一个为1(假设为x),另一个一定能执行y-1次, 这是一个贪心问题,把所有的执行次数加起来比较就能得到结论 #include<map> #include<set> #include<cmath> #include<queue> #
阅读全文
posted @
2017-06-23 11:50
walfy
阅读(278)
评论(0)
推荐(0)
hdu4318阶梯博弈nim变形
摘要:阶梯博弈原理参考:http://www.cnblogs.com/jiangjing/p/3849284.html 这题计算每两个之间的间隔就行了,如果是奇数个就把第一个前面的看作一个,偶数个就是两个点之间的间隔 m==1的时候特判,因为能一步就胜,m==2的情况第一个间隔要加1,因为当第一个间隔为0
阅读全文
posted @
2017-06-23 10:21
walfy
阅读(187)
评论(0)
推荐(0)
hdu3863找规律
摘要:先画一下N=2的情况,先手胜,再画一下N=3的情况,先手胜,所以大胆的猜测,无论N=多少,先手胜!! 这也能A真是个奇迹 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vect
阅读全文
posted @
2017-06-22 19:01
walfy
阅读(197)
评论(0)
推荐(0)
hdu3951巴什博弈变型
摘要:参考博客:http://blog.csdn.net/sun897949163/article/details/50609070 特判一下m=1的情况,然后m!=1时,无论对手取多少,我只要取的让这条链分成两个相同个数的子链就行了(之后按巴什博弈来处理),当然,如果先手能一次取完,那就后手必输 #in
阅读全文
posted @
2017-06-22 18:24
walfy
阅读(182)
评论(0)
推荐(0)
hdu1850nim博弈输出问题
摘要:和之前一道题是类似的,输出第一步走的方法,遍历数组找到a[i]^s<a[i]的那个数a[i]-a[i]^s就是要取的数 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vecto
阅读全文
posted @
2017-06-22 16:11
walfy
阅读(174)
评论(0)
推荐(0)
hdu2149巴什博弈输出
摘要:一眼就能看出来的巴什博弈,只是要输出第一步取的值,如果m>n+1,输出m%(n+1),否则输出m到n,因为这是第一步 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector
阅读全文
posted @
2017-06-22 15:56
walfy
阅读(152)
评论(0)
推荐(0)
hdu2188巴什博弈
摘要:裸题,直接套公式 巴什游戏只是换了一个说法而已 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert
阅读全文
posted @
2017-06-22 15:32
walfy
阅读(152)
评论(0)
推荐(0)
hdu1517找规律
摘要:挺像巴什博弈的,直接递推就能找到规律了,从2开始到9,s win,10到18,o win,18到162,s win,一直向下推进 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<
阅读全文
posted @
2017-06-22 13:24
walfy
阅读(389)
评论(0)
推荐(0)
Educational Codeforces Round 23C
摘要:超级坑的水题!!!想了两天没一点思路,看了题解第一段话就做出来了 刚开始一直在想找到通项就是例如an*10^n+...+a0*10^0-an-...-a0>=s,然后从这个里面找到规律,结果走进死胡同了 Let's prove that if x is really big, then x + 1
阅读全文
posted @
2017-06-21 21:49
walfy
阅读(158)
评论(0)
推荐(0)
hdu2177威佐夫博弈
摘要:输的话输出0,赢就输出1并且输出第一步走后的数目 威佐夫博弈判断胜负 原理及常见题型求法: http://blog.csdn.net/y990041769/article/details/21694007 #include<map> #include<set> #include<cmath> #in
阅读全文
posted @
2017-06-20 21:37
walfy
阅读(207)
评论(0)
推荐(0)
Codeforces Round #418 (Div. 2)D
摘要:给n个圆要么包含,要么相分离,没有两个公共点,当成一棵树,把包含的面积大的放在上面 如图最上面的par记为-1,level记为0,当par 1||level==1时就加否则减, 就是第一,二层先加,第三层减,然后后面的一直交替就行了 #include<map> #include<set> #incl
阅读全文
posted @
2017-06-18 23:29
walfy
阅读(134)
评论(0)
推荐(0)
hdu3032sg打表找规律
摘要:先打个表冷静一下 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<ioma
阅读全文
posted @
2017-06-17 17:38
walfy
阅读(136)
评论(0)
推荐(0)
zoj3261变形并查集
摘要:需要变形的并查集,这题错了好久,一直没a掉,终于在重写第三次的时候a了 先保存数据,把不需要拆分的边合并,逆向计算,需要拆分时就合并,之前不知道为啥写搓了,tle好久 #include<map> #include<set> #include<cmath> #include<queue> #inclu
阅读全文
posted @
2017-06-11 18:43
walfy
阅读(193)
评论(0)
推荐(0)
hdu2897找规律
摘要:又是找规律,无语了,说好的博弈呢,搞了半天的sg函数没有一点头绪 当n%(p+q)==0时,先手win,第一次取q个,以后每次,后手取k个,先手就取p+q-k个,最后,后手必取q个 当n=(p+q)*k+s(p<s<q)时,先手win,第一次取t(s-p<t<s)个,以后每次,后手取k个,先手就取p
阅读全文
posted @
2017-06-08 14:49
walfy
阅读(238)
评论(0)
推荐(0)
hdu2516斐波那契博弈
摘要:刚开始想用sg函数做,想了半天没一点思路啊。 原来这是一个新题型,斐波那契博弈 斐波那契博弈模型:有一堆个数为 n 的石子,游戏双方轮流取石子,满足:1. 先手不能在第一次把所有的石子取完;2. 之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍)。约定取走最后
阅读全文
posted @
2017-06-08 13:49
walfy
阅读(229)
评论(0)
推荐(0)
hdu1847sg函数
摘要:刚开始因为没注意到f是从0开始的导致wa了几次,f遍历的时候从0到f【j】<=i 这个题只有一个子情况,求出sg值直接判断就好了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<
阅读全文
posted @
2017-06-08 12:53
walfy
阅读(203)
评论(0)
推荐(0)
hdu2176nim博弈
摘要:就是要搞清楚nim博弈的原理 特别是证明方法,这一题就是第二条证明方法得出来的结论,只要a[i]^k<a[i]输出就行了 证明如下: 根据定义,证明一种判断position的性质的方法的正确性,只需证明三个命题: 1、这个判断将所有terminal position判为P-position;2、根据
阅读全文
posted @
2017-06-07 19:46
walfy
阅读(142)
评论(0)
推荐(0)
hdu1564博弈+找规律
摘要:#include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #inc
阅读全文
posted @
2017-06-07 17:04
walfy
阅读(273)
评论(1)
推荐(1)
hdu1846巴什博弈
摘要:巴什博弈:只有一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,最多取m个。最后取光者得胜。 结论:只要不能整除,那么必然是先手取胜,否则后手取胜。 #include<map> #include<set> #include<cmath> #include<queue> #include
阅读全文
posted @
2017-06-07 16:19
walfy
阅读(134)
评论(0)
推荐(0)
hdu1527威佐夫博弈
摘要:参考博客 https://hrbust-acm-team.gitbooks.io/acm-book/content/game_theory/wei_zuo_fu_bo_yi.html 满足 ,后手必胜,否则先手必胜。 #include<map> #include<set> #include<cmat
阅读全文
posted @
2017-06-07 16:17
walfy
阅读(185)
评论(0)
推荐(0)
uva10480最小割集
摘要:求最小割集 dinic处理后用dfs对所有点进行标记,遍历整个联接边,起点访问了,终点没访问或者起点没访问,终点访问了就是最小割集之一 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #inclu
阅读全文
posted @
2017-06-07 13:21
walfy
阅读(145)
评论(0)
推荐(0)
poj1087最大流拆点
摘要:刚开始看这题太长了就放着,后来做了之后才发现并不难,就是构造图有点麻烦 一开始写了180行@。@结果tle了,后来想到用map直接访问的话可能会快点,就不用每次循环了 #include<map> #include<set> #include<cmath> #include<queue> #inclu
阅读全文
posted @
2017-06-07 10:11
walfy
阅读(136)
评论(0)
推荐(0)
hdu4289最小割
摘要:最近博客断更了一段时间啊,快期末了,先把这个专题搞完再说 最小割=最大流 拆点方法很重要,刚开始我拆点不对就wa了,然后改进后tle,应该是数组开小了,一改果然是 #include<map> #include<set> #include<cmath> #include<queue> #include
阅读全文
posted @
2017-06-06 18:48
walfy
阅读(291)
评论(0)
推荐(0)
公告