04 2013 档案

摘要:开始还以为是简单博弈,后来发现是楼教主的男人八题里面的,好吧。我想不到怎么构造最优解。。。http://blog.csdn.net/niushuai666/article/details/6639977这里讲的很详细,总结起来就是:当一堆时,必胜,两堆相同时,必败,三堆时,可以一次转化成为两堆,所以必胜。故:a1,a2,a3…………an为必败点<=>当n为偶数时,对a1--an进行从小到大或从大到小排序,如果有a1=a2,a3=a4,…………an-1=an,必败当n为奇数时以及其它的情况则必胜 阅读全文
posted @ 2013-04-30 11:45 AC_Von 阅读(361) 评论(0) 推荐(0) 编辑
摘要:题意:一个有向无环图,制定M个点,每个点有一个石子。A,B两个玩家轮流移动这些石子(石子只能沿合法的边移动),最后没有石子可移的算输。如果光看一个石子的话,这他妹的就是sg函数的定义啊。。。然后对整个图处理一下每个点的sg值。对这M个点怎么处理,这么想吧。假设其中一个点为i,其sg值为sg[i] = a (a != 0)那可以发现,i可以走向[0, a-1]的任意sg值,这相当与什么?相当与这里有一堆石子,共a个。。。。M个点就是M堆石子,每堆石子的个数就是这个点的sg值。好吧Nim博弈出来了。。。ps:有谁能把抑或傻逼的写成与,有谁能把标记数组写成全局变量???我能!脑子进屎了!#inclu 阅读全文
posted @ 2013-04-28 16:03 AC_Von 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:跟 HDU 4057Rescue the Rabbit差不多的AC自动机+dp,比赛的时候被虐成傻逼了!!!999的状态不多,直接状态压缩就行。dp[i][ACstatus][status] 到字符串第i位置,在AC自动机上状态为ACstatus,包含到999的状态为status。更新了一下自动机的模板。。。Orz简洁写法View Code #include <iostream>#include <cstdio>#include <cmath>#include <vector>#include <cstring>#include &l 阅读全文
posted @ 2013-04-01 15:34 AC_Von 阅读(433) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示