摘要: 给出不超过14个长度不超过20的字符串,要求出一个包含所有字符串的长字符串的最短的长度,根据题目数据范围可以知道要用状态DP,每个二进制位表示一个字符串,而且需要用二维的,dp[i][j]表示以j为开头的剩下的状态为i的最优值,转移方程也很好写。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #define N 15 5 #define inf 0x7fffffff 6 using namespace std; 7 int dp[1<<15][N]; 阅读全文
posted @ 2012-09-04 19:58 zhenhai 阅读(181) 评论(0) 推荐(0)
摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=4005题意是说,在一个无向带权图中可以在原来没有直接相连的两个点上加一条边,然后要求你删去一条边,要求得出无论对方加的是哪一条边,你都可以删除一条<=v的边导致这个图不连通,要找出最小的V是多少。分析:首先,对于图中的双连通分量来说,删除其中的边是没有任何意义的,所以先进行缩点View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define N 20005 5 #def 阅读全文
posted @ 2012-09-04 16:46 zhenhai 阅读(210) 评论(0) 推荐(0)