牛客算法进阶——树形dp
1. 小G有一个大树(求树的重心)
删除该点后最大连通块的节点数最小
设f[x]表示以x为根的子树大小,那么删除x之后的各子树大小为f[to]和n-f[x]
求max(max(f[to]),n-f[x])的最小值以及最小值所对的x
2.没有上司的舞会
儿子和父亲不能同时选择
设dp[x][0/1]表示x节点不选/选,他的子树快乐最大值是多少
dp[x][0] += max(dp[x][0],dp[x][1]);
dp[x][1] += dp[x][0];
最后答案为max(dp[x][0],dp[x][1]);
3.Cell Phone Network
一个点可以关联它与它相邻的点
设dp[x][0/1/2]表示被他的儿子/父亲/自己关联
dp[x][0] += min(dp[to][0],dp[to][2]) 特殊情况是儿子都是被儿子的儿子关联,没有儿子能关联他,这时要加上min(dp[to][2]-dp[to][0]) > 0
dp[x][1] += min(dp[to][0],min(dp[to][1],dp[to][2]))
dp[x][2] += min(do[to][0],dp[to][2]);
最后答案为min(dp[to][0],dp[to][2]);
4.二叉苹果树
选儿子必须选父亲->看成树上依赖背包
dp[x][j]表示i为根的子树内连续选j条边的最大苹果树
dp[x][j] = max(dp[x][j],dp[x][j-k-1]+dp[to][k]+w) 注意j要倒序处理,防止重复选择一颗子树
答案为dp[1][m]
5.树上子链
带权树上直径
经过x的最长链为最长链+次长链
6.Rinne Loves Edges
弱化版的吉吉国王
7.吉吉国王
最长长度最小(二分)
dp[x]表示把x子树内的叶子切断的最小代价
当w>规划的最长长度 dp[x] += dp[to];
当w<规划的最长长度 dp[x] += min(dp[to],w);
牛客算法进阶——树形dp的更多相关文章
- 牛客 203B tree(树形dp)
大意: 给定树, 对于每个节点, 求包含该节点的连通子集数. 显然有$dp[x]=\prod (dp[y]+1), ans[x]=(\frac{ans[fa[x]]}{dp[x]+1}+1)dp[x] ...
- [牛客] [#1108 J] [树形结构] 买一送一
2019牛客国庆集训派对day3 链接:https://ac.nowcoder.com/acm/contest/1108/J来源:牛客网 题意 ICPCCamp 有 n 个商店,用 $1,2,..., ...
- 牛客比赛-状压dp
链接:https://www.nowcoder.com/acm/contest/74/F来源:牛客网 德玛西亚是一个实力雄厚.奉公守法的国家,有着功勋卓著的光荣军史. 这里非常重视正义.荣耀.职责的意 ...
- 算法复习——树形dp
树形dp的状态转移分为两种,一种为从子节点到父节点,一种为父节点到子节点,下面主要讨论子节点到父亲节点的情况: 例题1(战略游戏): 这是一道典型的由子节点状态转移到父节点的问题,而且兄弟节点之间没有 ...
- 牛客算法:DNA序列
import java.util.*; public class Main{ public static void main(String[] args){ try(Scanner in = new ...
- 牛客算法周周练20 F.紫魔法师 (二分图染色)
题意:给你一张图,对其染色,使得相连的点的颜色两两不同求,最少使用多少种颜色. 题解:首先,若\(n=1\),只需要一种.然后我们再去判断是否是二分图,对于二分图,两种颜色就够了,若不是二分图,也就是 ...
- LuoguP3047 [USACO12FEB]附近的牛Nearby Cows(树形DP,容斥)
\[f[u][step] = \begin{cases} C[u] & step = 0 \\ (\sum{f[v][step - 1]}) - f[u][step - 2] \cdot (d ...
- 牛客寒假算法基础集训营2 【处女座与复读机】DP最小编辑距离【模板题】
链接:https://ac.nowcoder.com/acm/contest/327/G来源:牛客网 一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女 ...
- 树形dp 入门
今天学了树形dp,发现树形dp就是入门难一些,于是好心的我便立志要发一篇树形dp入门的博客了. 树形dp的概念什么的,相信大家都已经明白,这里就不再多说.直接上例题. 一.常规树形DP P1352 没 ...
- 树形DP总结,持续更新
自己做了动态规划的题目已经有了一个月,但是成效甚微,所以来总结一下动态规划,希望自己能够温故知新.这个博客是关于树形dp的,动态规划的一类题目. 首先从最简单的树形DP入手,树形DP顾名思义就是一棵树 ...
随机推荐
- layui富文本的使用注意事项以及拓展
一.引入layui.js文件 二.初始化编辑器 PS:layedit.set({}) 方法必须要在初始化编辑器之前 var editIndex, layedit, layer; $(function ...
- 项目与自身毕设对比整理规划6 330 done
3.30 没用呢- - 功夫不负有心人啊啊啊啊啊啊啊啊啊啊啊啊啊啊 成功了- - 但是很可恶 需要把数据返回然后放在那个文件里面才可以 现在就是问题就是返回数据的时候需要把这个文件存成数据接口 fin ...
- 解析sensor_msgs::PointCloud2 ROS点云数据
1.一个仿真的点云数据 header: seq: 2116 stamp: secs: 1586919439 nsecs: 448866652 frame_id: "LidarSensor1& ...
- CMAKE添加库
1.因为pthread不是C标准库,需要链接 2.在CMakeLists.txt里添加: FIND_PACKAGE(Threads REQUIRED) TARGET_LINK_LIBRARIES($ ...
- Vue3中的响应式api
一.setup文件的认识 特点1:script 中间的内容就是一个对象 特点2:script 在第一层 定义的方法 或者 变量 => 就是这个对象 属性 => 顶层的绑定回被暴露给模板( ...
- Jquery 点击弹窗,将弹窗内容赋值到各个项demo
<div class="qb"> <div class="box"> <div class="qtt f_16 fbd& ...
- echart4和echarts5同时引入方法
main.js import Vue from 'vue' 同时引入如下: // 引入echart4,echarts4版本放本地, import echarts4 from '../static/js ...
- Angular 发布IIS
1.IIS服务器需要安装插件 安装 Url https://www.iis.net/downloads/microsoft/url-rewrite 2.修改配置 在src目录下,添加 web.conf ...
- 公司有两台电脑,却分给一个上网ip
解决办法,只限于本公司: 电脑a和电脑b 电脑a先用ip 6.21上网,之后将ip改为其它: 电脑b改为6.21 此时两台电脑都能上网了
- 测开-面试题-MySQL
1 增删改查的关键字分别是什么? 答: insert into \ replace into.delete.update.select 2 内连接和外连接的区别? 答: (1)内连接,只会展示与两表关 ...