随笔分类 - 动态规划-树形dp
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4035题意:给一棵n个节点的树,每个节点有值k[i]和e[i],分别表示k[i]概率走向1号节点,e[i]概率获得胜利(即停止),如果没有进行上边任意操作,则等概率的走向与这个节点连边的点。问走过的边的期望。(n#...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2435我怎么感觉那么水。。坑的是,dfs会爆。。。好吧。。用bfs。。//upd:我的智商也是醉了。。。。判断另一个图的节点个数不就是n-size么。。。。。。。。。我为嘛那么sb#include #i...
阅读全文
摘要:https://vijos.org/p/1892这个必须得卡评测机+手动开栈才能卡过QAQ手动开栈我百度的。。。int size=256#include #include #include #include #include #include #include #include using name...
阅读全文
摘要:https://vijos.org/p/1770不重不漏地设计状态才能正确的计数QAQ虽然可能最优化是正确的,但是不能保证状态不相交就是作死。。。。之前设的状态错了。。。应该设f[i][0]表示i点不取且至少有一个儿子取,且保证i点被覆盖f[i][1]表示i点取儿子任意,且保证i点被覆盖f[i][2...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1596一开始交了个貌似正确的dp,wa了。我只考虑了儿子覆盖的情况,没有考虑父亲QAQ那么我们要多开一个变量,来考虑父亲的。d[i][0]:自己不放,但是至少有一个儿子放了d[i][1]:自己放d[i]...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1827仔细想想就好了,,每个点维护两个值,一个是子树的费用,一个是除了子树和自己的费用。都可以用dfs做。维护第一个就是简单的dp。d1[i]=sum{d1[j]+w(i, j)*son1[j]},j是...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2060裸的树形dpd[x][1]表示访问x的数量,d[x][0]表示不访问x的数量d[x][1]=sum{d[y][0]}, y是儿子d[x][0]=sum{max(d[y][1], d[y][0])}...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1040简直不能再神的题orz。蒟蒻即使蒟蒻,完全不会。一开始看到数据n1的点和他的孩子切开,然后自己做根(我们设这2个点为x和y)!(其实随便啦,,只要把环破掉就行了)但是我们要注意。。树形dp的时候注...
阅读全文