/*
线段树延迟更新+状态压缩
*/
#include
#define N 1100000
struct node {
int x,y,yanchi,sum;
}a[N*4];
int lower[31];
void build(int t,int x,int y) {
a[t].x=x;
a[t].y=y;
a[t].yanchi=0;
if(x==y){
a[t].sum=low...
分类:
其他好文 时间:
2014-09-22 17:34:13
阅读次数:
232
Description
郑厂长不是正厂长
也不是副厂长
他根本就不是厂长
还是那个腾讯公司的码农
一个业余时间喜欢下棋的码农
最近,郑厂长对八皇后问题很感兴趣,拿着国际象棋研究了好几天,终于研究透了。兴奋之余,坐在棋盘前的他又开始无聊了。无意间,他看见眼前的棋盘上只摆了八个皇后,感觉空荡荡的,恰好又发现身边还有几个骑士,于是,他想把这些骑...
分类:
其他好文 时间:
2014-09-22 11:59:12
阅读次数:
320
题目链接
题意:给出n*n的网格,有且只有一个K(孙悟空)和一个T(唐僧),最多有m把钥匙,最多5条蛇,每走一格的时间为1,走到蛇的格子(杀蛇时间为1)的时间为2,取钥匙要按照顺序来,问能救到唐僧,如果可以输出最短时间。
思路:bfs求最小值。开四维数组作为标记,后两维分别为取到的钥匙数,以及蛇的状态。
代码:
#include
#include
#includ...
分类:
其他好文 时间:
2014-09-20 21:52:09
阅读次数:
176
HDU 1565 方格取数(1) (状态压缩DP)
ACM
题目地址:
HDU 1565 方格取数(1)
题意:
中文。
分析:
dp[i][j]表示前i行状态j的最优解。
先预处理出符合条件的数,17000+个(n在20以内)。
不过感觉复杂度挺高的会T,但是却能A。
这题的正解应该是最小割,回头补下。
代码:
/*
* Author...
分类:
其他好文 时间:
2014-09-20 21:31:19
阅读次数:
270
Saving Tang Monk
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 41 Accepted Submission(s): 10
Problem Description
《Journey to t...
分类:
其他好文 时间:
2014-09-20 18:57:59
阅读次数:
183
Gems Fight!Time Limit: 20000/10000 MS (Java/Others)Memory Limit: 327680/327680 K (Java/Others)Total Submission(s): 1069Accepted Submission(s): 456Prob...
分类:
其他好文 时间:
2014-09-19 19:11:45
阅读次数:
194
题意:给定你n个文本串 ,m个模式串,怎么构造最短的新的文本串使得这个新的文本串包含n个文本串的所有信息且文本串的长度最短且不包含模式串。解题思路:这里看题解撸的,首先我们算出两两文本串的距离(end数组标记文本和模式串的值不同,利用这个进行bfs算出两两之间的最短距离,注意到这里模式串的end是不...
分类:
其他好文 时间:
2014-09-16 20:25:11
阅读次数:
250
题意:这个题目和HDU2457有点类似,都是AC自动机上的状态dp,题意就是给你只含有'A','T','C','G',四个字符的子串和文本串,问你文本串如何排列才可以使得文本串中包含有更多的模式串解题思路:我们知道了 有 num[0] 个 'A', num[1] 个 ‘T’, num[2] 个 ‘C...
分类:
其他好文 时间:
2014-09-16 13:58:50
阅读次数:
184
这题的算是BFS中应用状压的一个模板题吧,没啥难度,用key来存储已获得的钥匙,状压一下就可以了
不过我写的过程中,犯了好多SB错误,导致调试了好久才A,本来仔细可以1A的说
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-09-13 12:09:15
阅读次数:
245
题目链接:http://poj.org/problem?id=3311
Floyd + 状态压缩DP
题意是有N个城市(1~N)和一个PIZZA店(0),要求一条回路,从0出发,又回到0,而且距离最小。
状态:dp[S][v]表示从v出发访问剩余的所有顶点(集合S),最终回到顶点0的路径的权重总和最小值。
#include
#include
#inc...
分类:
其他好文 时间:
2014-09-11 15:21:52
阅读次数:
161