摘要: 题意:给你一个长度小于等于16的字符串,每次可以删除一个回文传,问你最少删除干净的字数。状态+dpdp[i] = min(dp[i],dp[j]+dp[j^i]);(j是i的字串);连接:http://acm.hdu.edu.cn/showproblem.php?pid=4628代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define loop(s,i,n) for(i = s;i < n;i++) 9 10 using namespace std;11 i... 阅读全文
posted @ 2013-07-31 16:09 某某。 阅读(228) 评论(0) 推荐(0) 编辑
摘要: Tarjan算法应用 (割点/桥/缩点/强连通分量/双连通分量/LCA(最近公共祖先)问题)(转载)转载自:http://hi.baidu.com/lydrainbowcat/blog/item/2194090a96bbed2db1351de8.html基本概念:1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。3.点连通度:最小割点集合中的顶点数。4.割边(桥):删掉它之后,图必然会分裂为两个或两个以上的子图。5.割边集合:如 阅读全文
posted @ 2013-07-31 14:23 某某。 阅读(2361) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个连通图,然后再给你n个询问,每个询问给一个点u,v表示加上u,v之后又多少个桥。一个最容易想到的办法就是先加边找桥,加边找桥,这样可定超时。那么就可以缩点,因为如果一条边不是桥那么无论怎么加边他肯定都不会变成桥,这样我吧不是桥的点缩成一个点。这样全图就都是桥,这样的话,我们就在加的遍里面去找如果加的边是同一个点,那么,肯定不会减少桥,但是如果不是同一个,那么桥肯定减少~。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #defin... 阅读全文
posted @ 2013-07-31 14:21 某某。 阅读(561) 评论(0) 推荐(0) 编辑