2017年3月27日
摘要: 这个好像跟EK算法的本质差不多,不过一个dfs,一个bfs,总体看来一般用bfs会好一点。 程序: 阅读全文
posted @ 2017-03-27 15:13 nhc2014 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1155 题解: 懵。。。。 这题好像就是01背包吧 我们用f[x][j+k]来表示以x为根的子树,转播j+k个用户时,能获得的利润 f[x][j+k]=max(f[x][j+k],f[x][j]+f[son][k]-w);(w表示转播需 阅读全文
posted @ 2017-03-27 10:53 nhc2014 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vijos.org/p/1675 题解:完全不会写有关期望的问题,怎么办嘞。。。。 首先因为每次聪聪都会往离可可最短的路走,我们先用求出p[i][j](其实就是拓扑。。。)来表示从i节点到j节点走最短路到达的第一个节点。 然后每次都dfs聪聪下一步可能会走的节点,只要有哪一 阅读全文
posted @ 2017-03-27 10:35 nhc2014 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vijos.org/p/1144 题解:这道题的动归稍稍有一点的复杂,因为一个节点有可能被它的子节点观察,也有可能被父节点观察; 所以我们这样表示: f[i][0](表示当前i节点放了一个看守,即他自己和所有子节点已经被控制好) f[i][1](表示当前i节点不放看守,但是 阅读全文
posted @ 2017-03-27 10:14 nhc2014 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://vijos.org/p/1523 我们用dp(i,j,k)来表示此状态下最小难受值,i为当前访问到的节点,j为大头还要吃几个,k为当前节点的父节点的颜色。 我们会发现只要小头的数目大于1,我们一定保证当树枝的两端被小头吃时,不会增加难受值,那么难受值就由大头增加。 用1表示 阅读全文
posted @ 2017-03-27 09:36 nhc2014 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problem/show?pid=3354#sub 题解:还是深搜,因为能运输到的伐木场一定在村庄的下游(或本身),即伐木场一定是村庄的父节点(或本身),当我们访问到村庄时,下游的最近伐木场一定被决定出来了。 我们用dp(i,j,k)表示当前访问 阅读全文
posted @ 2017-03-27 09:00 nhc2014 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problem/show?pid=3360 题解:我们用f[i][j]来表示以i为根的子树上给定j的时间能获得的价值,需要记忆化搜索。 (如果是走廊)f[i][j]=max(f[i][j],f[lson][k]+f[rson][j-k-2*tim 阅读全文
posted @ 2017-03-27 08:29 nhc2014 阅读(267) 评论(0) 推荐(0) 编辑