摘要: #include #include #include #include #define ll long long using namespace std; ll n,num,ans,hou[10000000],f[10000000],c[10000000],size; struct node { ll l,r,data; }t[10000000]; void Hou(ll p) { ... 阅读全文
posted @ 2016-05-10 22:31 一入OI深似海 阅读(143) 评论(0) 推荐(0) 编辑
摘要: /* 这题实在调糊了 借鉴的题解的一些判断方法 位运算大法好 - - 因为要集齐所有的宝石所以状态压缩一下 f[i][j][s]将s化为二进制 每一0表示该宝石没有 1表示该宝石有 有:到(i,j)这个点时 宝石收集状况为s的状态是否存在 */ #include #include #include #include using namespace std; int T,n,m,k,f[21... 阅读全文
posted @ 2016-05-10 18:19 一入OI深似海 阅读(821) 评论(0) 推荐(0) 编辑
摘要: /* 和普通的迷宫问题类似只是多了一个叫传送门的东西 对于传送门的处理: 每当跑到传送门就把其余所有传送门周围的点都入队 传送门之间不花费时间并且从不是传送门的点走到传送门 也不花费时间花费时间的(好像说了句废话.) 所以判断一下 */ #include #include #include #include #include #define maxn 5010 using namespace ... 阅读全文
posted @ 2016-05-10 17:56 一入OI深似海 阅读(303) 评论(0) 推荐(0) 编辑
摘要: /* 巧妙地使用fail数组 根据fail数组的定义 fail[i] 有 长度为i的子串最长公共前后缀为fail[i] 比如样例 fail 0 0 1 2 那么我们维护一个ans[i]表示到i位置的时候 前i位置子串的匹配次数 比如 a b a ans[1]=1 ans[2]=1 到ans[3]的时候 发现 a 又出现了一边 说明之前的a子串统计少了 相应的可以根据 fail找到a的位置... 阅读全文
posted @ 2016-05-10 11:47 一入OI深似海 阅读(129) 评论(0) 推荐(0) 编辑