DP
tjdrn
这个作者很懒,什么都没留下…
展开
-
CF 313D
一个中规中矩的DP, dp[i][j] 表示前i个点覆盖了j个点的最小代价, cost[i][j]表示覆盖从第i个点到第j个点的最小代价, 则转移方程为: 1. dp[i][j] = min(dp[k][j], dp[i][j]) (k >= j); 2. dp[i][j] = min(dp[i][j], cost[k][j] + dp[k - 1][j - (i原创 2013-07-13 13:38:12 · 705 阅读 · 0 评论 -
poj 2486 (树形dp (好题))
题目链接:http://poj.org/problem?id=2486 最近做了些树形dp的题目, 感觉对这种将每棵子树都当做一个物品处理的树形背包题目理解还不够深刻, 果然这题就被破的很惨, 但好在想了很长时间想清楚了, 这题就是求从一颗带点权树的根节点出发, 走过k条边能获得的最大权值。 考虑某一个节点u, 肯定有一维状态表示从该节点开始还可以走多少条边, 但最优决策有可能是从u的某个子原创 2013-07-17 01:42:39 · 772 阅读 · 0 评论 -
hdu 2242 (Tarjan + 树形dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2242 挺基础的一个图论dp综合题目, 开了IO以后暂时rank1。。。。 #include #include #include #include #include #include #include #include #include #include using nam原创 2013-08-04 15:05:49 · 618 阅读 · 0 评论 -
hdu 4341(分组背包(好题))
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4341 分组背包问题, 由于一条直线上的要按照顺序取, 如果一条直线上有n个金矿, 对于这条直线则有n + 1 种决策, 而且是互相矛盾的, 所以可以将这n个物品重新组合一下, 转化成一个分组背包问题, 详见代码。。。 #include #include #include #inclu原创 2013-08-04 21:40:08 · 821 阅读 · 0 评论 -
poj 3160(强连通缩点 + dp)
题目链接:http://poj.org/problem?id=3160 很陈旧的题目吧算是, 缩点后得到DAG, 然后就是带点权的最长路, 唯一值得注意的是一开始的图的点权可能是负的, 由于可以经过某个点但不取该点的权值, 所以可以把负的权值当做0来处理。。。 #include #include #include #include #include #include原创 2013-08-04 21:14:28 · 760 阅读 · 0 评论 -
SRM 573 div1 lev2(状态图上的最短路)
题目链接 从一个神牛博客上无意中发现的题目, 由于TC上的图论题目本来就少, 所以就好奇的想做做, 题意就是给定一个50个点的图, 每个点有一个高度, 从一个点u到另一个点v的条件是u, v直接相连, 并且h[u] >= h[v],每个点的高度可以改变代价为改变前后高度差的绝对值, 求从点0到点n - 1的最小代价。 一开始没什么思路, 后来看了神牛的解法后发现这题其实就是lrj白书上提到的状原创 2013-08-05 21:04:21 · 1029 阅读 · 0 评论 -
zoj 1232(Floyd预处理 + 状态图上的最短路(好题))
题目链接 思想挺好的一个题目, 跟这个题做法类似, 但要多一步预处理, 详见代码。。。 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-08-06 01:55:45 · 781 阅读 · 0 评论