摘要: 题目链接 Solution 比较明显的树形DP模型。 首先可以先用一次DFS求出以1为根时,sum[i](以i为子树的根时,满足要求的子树的个数)。 考虑将根从i变换到它的儿子j时,sum[i]产生的变化. 在变化前sum[i]不为0时,可以用求逆元的方法求出新的sum[i]. ... 阅读全文
posted @ 2015-05-19 21:16 keambar 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 题意比较麻烦见题目链接Solution: 非常值得注意的一点是题目给出的范围只有20,而众所周知字母表里有26个字母。于是显然对一个字母进行变换后是不影响到其它字符串的。 20的范围恰好又是常见状压DP的范围,所有状态压缩后用DP[sta]代表对应位的字符串已经满足要求的最小花费。 ... 阅读全文
posted @ 2015-05-19 21:05 keambar 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一个n个点(nusing namespace std;const int N = 3009;struct edge { int v, ne;} E[N * N q; memset (vis, 0, sizeof vis); dis[k][S] = 0; vis... 阅读全文
posted @ 2015-05-19 20:52 keambar 阅读(537) 评论(0) 推荐(0) 编辑