基础树形DP小结
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小结的更多相关文章
- POJ 3140.Contestants Division 基础树形dp
Contestants Division Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10704 Accepted: ...
- 树形DP小结
树形DP1.简介:树是一种数据结构,因为树具有良好的子结构,而恰好DP是从最优子问题更新而来,那么在树上做DP操作就是从树的根节点开始深搜(也就是记忆化搜索),保存每一步的最优结果.tips:树的遍历 ...
- BZOJ1040 基环森林 找环+基础树形DP
1040: [ZJOI2008]骑士 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4752 Solved: 1831[Submit][Status ...
- 基础数位DP小结
HDU 3555 Bomb dp[i][0] 表示含 i 位数的方案总和. sp[i][0] 表示对于位数为len 的 num 在区间[ 10^(i-1) , num/(10^(len-i)) ] 内 ...
- HDU 1520.Anniversary party 基础的树形dp
Anniversary party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 树形dp基础
今天来给大家讲一下数形dp基础 树形dp常与树上问题(lca.直径.重心)结合起来 而这里只讲最最基础的树上dp 1.选课 题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程 ...
- codevs1163访问艺术馆(树形dp)
1163 访问艺术馆 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 皮尔是一个出了名的盗画者,他经过数月的精心准备, ...
- POJ 1155 树形DP
题意:电视台发送信号给很多用户,每个用户有愿意出的钱,电视台经过的路线都有一定费用,求电视台不损失的情况下最多给多少用户发送信号. 转自:http://www.cnblogs.com/andre050 ...
- 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 ...
随机推荐
- C# 标准命名规范
笔者从事开发多年,有这样一种感觉,查看一些开源项目,如Spring.Apache Common等源码是一件赏心悦目的事情,究其原因,无外两点:1)代码质量非常高:2)命名特别规范(这可能跟老外的英语水 ...
- shell 实用命令学习
查找文件 -iname 大小写不敏感 “*.log” .log后缀的文件 -type d 文件类型为目录的 find ./ -name 'index.html' 查找当前目录,及其子目录下文件
- RabbitMQ 官方NET教程(三)【发布/订阅】
上一篇博客中,我们实现了工作队列,并且我们的工作队列中的一个任务只会发给一个工作者,除非某个工作者未完成任务意外被杀死,会转发给另外的工作者.在这部分中,我们会做一些完全不同的事情 - 我们会向多个消 ...
- 2C课程笔记分享_StudyJams_2017
课程2C-实践:创建交互式应用 概述 课程2C的内容主要是练习巩固2A.2B中讲解的内容,并设计实现一款篮球比赛的计分板应用及其界面的美化. Warm-Up:准备活动 新建项目PracticeSet2 ...
- Deutsch lernen (02)
1. fließend a. 流利的 Meine französische Freundin spricht fließend Deutsch. 流动的 Der Verkehr wickelt ...
- Java中final,finally和finalize区别
Day11_SHJavaTraing_4-18-2017 Java中final,finally和finalize区别 1.final—修饰符(关键字) ①final修饰类,表示该类不可被继承 ②fin ...
- Scala: Types of a higher kind
One of the more powerful features Scala has is the ability to generically abstract across things tha ...
- vue遇到的大坑,h5在ios10版本下不能打开页面
无论是谁,在做事情的过程中总是会遇到学坑,才能成为最后的大神 这个坑不说了,找了半天.希望能帮助到你们 进入build文件夹: 找到webpack.prod.conf.js文件: 在UglifyPlu ...
- Django的Error汇总
title: Django学习笔记 catalog: true subtitle: 11. Django_Error汇总 date: 2018-12-14 10:17:28 --- Django的Er ...
- UDP、线程、mutex锁(day15)
一.基于UDP的网络编程模型 服务器端 .创建socket. .将fd和服务器的ip地址和端口号绑定 .recvfrom阻塞等待接收客户端数据 .业务处理 .响应客户端 客户端: .创建socket ...