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的更多相关文章

  1. 牛客 203B tree(树形dp)

    大意: 给定树, 对于每个节点, 求包含该节点的连通子集数. 显然有$dp[x]=\prod (dp[y]+1), ans[x]=(\frac{ans[fa[x]]}{dp[x]+1}+1)dp[x] ...

  2. [牛客] [#1108 J] [树形结构] 买一送一

    2019牛客国庆集训派对day3 链接:https://ac.nowcoder.com/acm/contest/1108/J来源:牛客网 题意 ICPCCamp 有 n 个商店,用 $1,2,..., ...

  3. 牛客比赛-状压dp

    链接:https://www.nowcoder.com/acm/contest/74/F来源:牛客网 德玛西亚是一个实力雄厚.奉公守法的国家,有着功勋卓著的光荣军史. 这里非常重视正义.荣耀.职责的意 ...

  4. 算法复习——树形dp

    树形dp的状态转移分为两种,一种为从子节点到父节点,一种为父节点到子节点,下面主要讨论子节点到父亲节点的情况: 例题1(战略游戏): 这是一道典型的由子节点状态转移到父节点的问题,而且兄弟节点之间没有 ...

  5. 牛客算法:DNA序列

    import java.util.*; public class Main{ public static void main(String[] args){ try(Scanner in = new ...

  6. 牛客算法周周练20 F.紫魔法师 (二分图染色)

    题意:给你一张图,对其染色,使得相连的点的颜色两两不同求,最少使用多少种颜色. 题解:首先,若\(n=1\),只需要一种.然后我们再去判断是否是二分图,对于二分图,两种颜色就够了,若不是二分图,也就是 ...

  7. 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 ...

  8. 牛客寒假算法基础集训营2 【处女座与复读机】DP最小编辑距离【模板题】

    链接:https://ac.nowcoder.com/acm/contest/327/G来源:牛客网 一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女 ...

  9. 树形dp 入门

    今天学了树形dp,发现树形dp就是入门难一些,于是好心的我便立志要发一篇树形dp入门的博客了. 树形dp的概念什么的,相信大家都已经明白,这里就不再多说.直接上例题. 一.常规树形DP P1352 没 ...

  10. 树形DP总结,持续更新

    自己做了动态规划的题目已经有了一个月,但是成效甚微,所以来总结一下动态规划,希望自己能够温故知新.这个博客是关于树形dp的,动态规划的一类题目. 首先从最简单的树形DP入手,树形DP顾名思义就是一棵树 ...

随机推荐

  1. springBoot集成flowable

    前言 Flowable可以十分灵活地加入你的应用/服务/构架.可以将JAR形式发布的Flowable库加入应用或服务,来嵌入引擎. 以JAR形式发布使Flowable可以轻易加入任何Java环境:Ja ...

  2. 多人协同开发,git workflow 提高团队协作能力

    集美们,还在为工作多年而只会使用简单的git指令被质疑是假简历而烦恼吗. Don't worry! || 今天给带来大家一个git攻略指南.成为大手子,参与开源大项目指日可待‍‍‍. . Git 这是 ...

  3. 接入jira OAuth权限流程

    如果要在自己的系统中操作jira的api完成这些单据的创建.审批等操作,就不得不要先完成jira的第三方授权,才能在第三方系统去做这些jira的操作. 首先必须在jira系统配置客户端的相关信息,须配 ...

  4. Ubuntu18.04编译ZLMediakit支持webrtc

    背景 最近在做流媒体相关的一些东西, 比较了一些开源的流媒体服务, 目前 srs 和 ZlmediaKit 项目是评价比较高的, 今天主要在 Ubuntu18.04 上编译 ZlmediaKit, 并 ...

  5. 多线程并发(二):聊聊AQS中的共享锁实现原理

    在上一篇文章多线程并发(一)中我们通过acquire()详细地分析了AQS中的独占锁的获取流程,提到独占锁,自然少不了共享锁,所以我们这边文章就以AQS中的acquireShared()方法为例,来分 ...

  6. 织梦DedeCMS 0day RCE

    前言 原文链接:https://mp.weixin.qq.com/s/bwBc4I9GeY6M_WlEDx83TA 复现记录时间: 下载当前最新版本DedeCMS V5.7.105进行漏洞复现以及漏洞 ...

  7. 【雅礼联考DAY01】逃跑

    #pragma GCC optimize(2) #pragma GCC optimize(3) #include<cstdio> using namespace std; const in ...

  8. Roadblocks

    poj3255 题目: Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best ...

  9. Spring注解补充(一)

    注解补充 挑一些常用,但是深入不多的总结一下. Bean的声明周期 在@Bean注解中,添加init属性和destroy属性 @Bean(initMethod = "initMethod&q ...

  10. SpringCloud 源码学习笔记2——Feign声明式http客户端源码分析

    系列文章目录和关于我 一丶Feign是什么 Feign是一种声明式. 模板化的HTTP客户端.在Spring Cloud中使用Feign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一一样的 ...