树形dp
fyc_kabuto
一个蒟蒻程序员
展开
-
bzoj 4557: [JLoi2016]侦察守卫
题意:一棵树中有些黑点,在每个点上放守卫要花一定代价,守卫侦查范围为d,求覆盖所有黑点最小代价。题解:f[x][i]f[x][i]表示覆盖x的子树中与x的距离超过i的黑点的代价。(可以有小于i的点也被覆盖) g[x][i]g[x][i]表示完整x的子树后,还能向上至少i步的最小代价。 转移留坑,先上代码。 code:#include<cstdio> #include<cstdlib> #inc原创 2017-09-11 14:03:00 · 409 阅读 · 0 评论 -
bzoj 1217: [HNOI2003]消防局的设立
bzoj4557弱化版原创 2017-10-09 20:27:31 · 383 阅读 · 0 评论 -
bzoj 1123: [POI2008]BLO
双连通分量+树形dp原创 2017-11-28 13:23:08 · 245 阅读 · 0 评论 -
bzoj 3677: [Apio2014]连珠线
树形dp好题原创 2018-01-04 15:48:29 · 409 阅读 · 0 评论 -
bzoj 4182: Shopping
题意: 第i个商店只卖第i种物品,小苗对于这种物品的喜爱度是wi,物品的价格为ci,物品的库存是di。但是商店街有一项奇怪的规定:如果在商店u,v买了东西,并且有一个商店w在u到v的路径上,那么必须要在商店w买东西。小葱身上有m元钱,他想要尽量让小苗开心,所以他希望最大化小苗对买到物品的喜爱度之和。 题解: 暴力dp很好想,设f[i][j]f[i][j]f[i][j]表示以节点i为根的子...原创 2018-03-20 22:01:28 · 273 阅读 · 0 评论 -
bzoj 2500: 幸福的道路
题意: 小T与小L终于决定走在一起,他们不想浪费在一起的每一分每一秒,所以他们决定每天早上一同晨练来享受在一起的时光. 他们画出了晨练路线的草图,眼尖的小T发现可以用树来描绘这个草图. 他们不愿枯燥的每天从同一个地方开始他们的锻炼,所以他们准备给起点标号后顺序地从每个起点开始(第一天从起点一开始,第二天从起点二开始……). 而且他们给每条道路定上一个幸福的值.很显然他们每次出发都想走幸福值和...原创 2018-03-21 09:52:18 · 295 阅读 · 0 评论 -
loj 2510. 「AHOI / HNOI2018」道路
题意: 题解: 这题……阅读理解题吧。 既然只有logloglog层,那么f[x][a][b]f[x][a][b]f[x][a][b]记忆化搜索下就好。 code: #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #define LL l...原创 2018-04-17 20:40:56 · 188 阅读 · 0 评论 -
4824: [Cqoi2017]老C的键盘&&3167: [Heoi2013]Sao
题意: 对一棵树的边定向,求拓扑序方案数。 题解: 因为两颗子树相对独立,所以可以树形dp。 f[x][i]f[x][i]f[x][i]表示x这棵子树,根节点在序列第i位,转移什么就随便写写啦 对于n3n^3n3就怎么写都没问题,而n2n^2n2的话,需要更严格的按子树大小合并,即对于合并大小分别为totx,totytot_x,tot_ytotx,toty的子树,需要枚举i,ji,ji,j贡献...原创 2019-01-03 17:14:23 · 414 阅读 · 0 评论 -
3090: Coci2009 [podjela]
题意: 有 N 个农民, 他们住在 N 个不同的村子里. 这 N 个村子形成一棵树. 每个农民初始时获得 X 的钱. 每一次操作, 一个农民可以从它自己的钱中, 取出任意数量的钱, 交给某个相邻村子的农民. 对于每个农民给定一个值 v_i, 求 (1) 最少需要多少次操作, 使得每个农民最终拿到的钱 >= 给定的值. 题解: 想到树形背包dp就很好做了。 显然每对人只会交易一次,所以总数不超...原创 2019-01-30 09:30:24 · 315 阅读 · 0 评论