HDU 4044 Geodefense

http://blog.csdn.net/zmx354/article/details/25109897

树形DP暂且先告一段落了。

HDU 3586 Information Disturbing

dp[ s ][ k ]表示在s节点处。上限为k时的最小花费。

dp[ s ][ k ] += min(dp[son][ j ]) j∈[1,k]。

直接枚举则 时间复杂度为 n*m*m。

可是对于 min(dp[son][ j ]) j∈[1,k],能够递推获得,即 Min[son][i] = min(dp[son][i],Min[son][i-1])。则时间复杂度降为n*m。

目測后台数据不少。

HDU 4003 Find Matal Mineral

http://blog.csdn.net/zmx354/article/details/24937405

POJ 2468 Apple Tree

http://blog.csdn.net/zmx354/article/details/25026467

HDU 1561 The more ,The better

非常直观的树上背包瞎搞。

http://blog.csdn.net/zmx354/article/details/24786969

CodeFoeces 219D

首先统计出根节点要翻转的边(棵如果任一点为根节点,不影响答案)。

ans[root] = sigma (ans[son i ] + w)。

若son i 与root相连边相对于根节点需翻转则 w == 1,否则 w == 0。

对于子节点 。有 ans[son] = ans[root] + w。若son 与 root相连边相对于子节点需翻转则 w == 1。否则 w == -1。

POJ 3162 Walking Race

自从爱上对拍数据。Debug的能力愈发弱了。

得改。

HDU 2196的加强版。多了区间最值查询。感觉更像是在考数据结构。。

。。

POJ 1947 Rebuilding Roads

给出一个有 n 个顶点的树。问最少删除多少条边能够使得到一棵仅仅有 m 个顶点的树。

dp[ s ][ i ] 表示已 s 为根节点的子树删除 最少删除dp[s][i]条边得到一棵有 i 个顶点的树。

dp[s][ i ] = min(dp[s][ i ],dp[s][k] + dp[son][i-k])。

循环按01背包的方式写。

然后枚举根节点。

HDU 1011 Starship Troopers

好蛋疼的题意,简直就是在欺负我们这些没过四级的选手。

题意 从 1 開始往下走,如要抓获子节点的brain。则必先攻占父节点。

攻占的条件为损耗 k 个Trooper,有 20*k >= bug。

坑点在于当此处的bug == 0时,也要派一个人过去拿。但无需停留。

让我想起了去年网络赛炸桥的那个题。

状态转移方程为 dp[s][i] = max(dp[s][i],dp[s][i-k]+dp[son][k])。

特例。k == 0时,dp[s][i] = max(dp[s][i],dp[s][i-1]+dp[son][0])。

POJ  1155 TELE

比較直观的 0 1背包了。

dp[ i ][ j ] 记录第 i 个结点有 j 个观众时的最大值,然后没计算完一棵子树,按0 1背包的方式更新根节点。

POJ 1741 Tree

我大楼教主的男人八题之五。

树形DP + 归并排序。

思路还算比較明白,实现略蛋疼。

统计出每课子树上的合法路径的权值和,升序排列。

跨过根节点的枚举当中一个子树上的,然后二分还有一棵子树上的。然后合并。继续枚举其它子树。

链表形式的TLE了一次。改成静态,有一个地方手慘了,例子一直过的跟孙子一样。对拍了一下午的数据才找出错。

。。。

HDU 1520  Anniversary party

隔层选取,比較基础的树形DP了。

HDU 2196 Computer

我仅仅想说一句这是毛线DP,明明是图论好么。

两次BFS求出权值和最大的一条链,再用两次BFS更新各点最大值。

搜了一下。真的有人用DP做。貌似更快一些。

基础树形DP小结的更多相关文章

  1. POJ 3140.Contestants Division 基础树形dp

    Contestants Division Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10704   Accepted:  ...

  2. 树形DP小结

    树形DP1.简介:树是一种数据结构,因为树具有良好的子结构,而恰好DP是从最优子问题更新而来,那么在树上做DP操作就是从树的根节点开始深搜(也就是记忆化搜索),保存每一步的最优结果.tips:树的遍历 ...

  3. BZOJ1040 基环森林 找环+基础树形DP

    1040: [ZJOI2008]骑士 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4752  Solved: 1831[Submit][Status ...

  4. 基础数位DP小结

    HDU 3555 Bomb dp[i][0] 表示含 i 位数的方案总和. sp[i][0] 表示对于位数为len 的 num 在区间[ 10^(i-1) , num/(10^(len-i)) ] 内 ...

  5. HDU 1520.Anniversary party 基础的树形dp

    Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  6. 树形dp基础

    今天来给大家讲一下数形dp基础 树形dp常与树上问题(lca.直径.重心)结合起来 而这里只讲最最基础的树上dp 1.选课 题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程 ...

  7. codevs1163访问艺术馆(树形dp)

    1163 访问艺术馆  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master   题目描述 Description 皮尔是一个出了名的盗画者,他经过数月的精心准备, ...

  8. POJ 1155 树形DP

    题意:电视台发送信号给很多用户,每个用户有愿意出的钱,电视台经过的路线都有一定费用,求电视台不损失的情况下最多给多少用户发送信号. 转自:http://www.cnblogs.com/andre050 ...

  9. hdu 1561 The more, The Better(树形dp,基础)

    The more, The Better Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

随机推荐

  1. python利用有道翻译实现“语言翻译器”的功能

    import urllib.request import urllib.parse import json while True: content = input('请输入需要翻译的内容(退出输入Q) ...

  2. Spring的AOP机制---- 切入点表达式---- 切入点表达式

    3333钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱

  3. easyui验证提示框 卡在屏幕上!!

    场景:验证提示框,关闭diglog窗口后 还显示在页面中 解决方法: 在窗口关闭事件中,删除提示框(这貌似并不可行),只能将验证提示框隐藏起来. $('#dialog').dialog({ onClo ...

  4. Asp.net MVC4 Step By Step(5)-使用Web API

    Web API是ASP.net MVC4新增的一个特色, 应用于处理Ajax请求, 他同时使用了Web标准规范, 比如Http, Json,和XML,以及一系列构建REST数据服务的参考原则, 和AS ...

  5. 构造函数中this,return的详解

    function Foo(name,age){ this.name=name; this.age=age; } var foo=new Foo("Tom",14); foo.nam ...

  6. 设计模式之合成模式(Java语言描述)

    <JAVA与模式>一书中开头是这样描述合成(Composite)模式的: 合成模式属于对象的结构模式,有时又叫做"部分--整体"模式.合成模式将对象组织到树结构中,可以 ...

  7. GitHub上fork别人打代码后如何保持和原作者同步的更新

    1.进入你的GitHub发起Pull  request 2.选择compare across  forks 3.反向操作.base fork改为自己的,head fork改为原作者的 4.点击 cre ...

  8. 用List表示多重性

    练习目标-在类中使用List作为模拟集合操作: 在本练习中,将用List实现银行与客户间的多重关系. 任务 对银行来说,可添加Bank类. Bank 对象跟踪自身与其客户间的关系.用Customer对 ...

  9. 在MFC中使用Cstring

    此文介绍了关于MFC使用CString的资料,可一参考一下. 转自于VC知识库:http://www.vckbase.com/index.php/wv/829 通过阅读本文你可以学习如何有效地使用 C ...

  10. 团体程序设计天梯赛-练习集-L1-033. 出生年

    L1-033. 出生年 以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份.”也就是说,直到2013年才达到“4个数字都不相同”的要求.本题请你根据要求,自动填充“ ...