题目链接:Codeforces - Serval and Rooted Tree


我们一定是控制最少的可以影响根节点的叶子,然后从大到小放数字。

每次取max时,也就是子树中需要控制的最小的。取min的时候也就是求和。

然后dp即可。


AC代码:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=3e5+10;
int n,dp[N],f[N],sum;
vector<int> g[N];
void dfs(int x){int mi=1e9;for(int to:g[x]){dfs(to);if(f[x]) mi=min(mi,dp[to]);else dp[x]+=dp[to];}if(f[x]) dp[x]=mi;if(!g[x].size()) sum++,dp[x]=1;
}
signed main(){cin>>n;for(int i=1;i<=n;i++) scanf("%d",&f[i]);for(int i=2,x;i<=n;i++) scanf("%d",&x),g[x].push_back(i);dfs(1);cout<<sum-dp[1]+1;return 0;
}

Codeforces - Serval and Rooted Tree相关推荐

  1. 【CodeForces - 1153D】Serval and Rooted Tree(树形dp)

    题干: Now Serval is a junior high school student in Japari Middle School, and he is still thrilled on ...

  2. codeforces 1153D Serval and Rooted Tree

    https://codeforces.com/problemset/problem/1153/D 太菜了,1800分的题没点思路. 看了别人代码,我们可以用dp来实现,dp[i]表示第i个点为根节点的 ...

  3. D. Serval and Rooted Tree

    http://codeforces.com/contest/1153/problem/D 题意:n个节点的树,叶子可以任意分别给1~k(k为叶子个数)的值,每个节点有操作min,max分别取其子树的最 ...

  4. D. Serval and Rooted Tree(思维+树形dp+二分辅助)

    https://codeforces.com/problemset/problem/1153/D 思路:参考issue https://issue-is-vegetable.blog.csdn.net ...

  5. Codeforces1153D-Serval and Rooted Tree(树形dp)

    原题链接:http://codeforces.com/problemset/problem/1153/D 题目原文: D. Serval and Rooted Tree time limit per ...

  6. Educational Codeforces Round 25 G. Tree Queries

    题目链接:Educational Codeforces Round 25 G. Tree Queries 题意: 给你一棵树,一开始所有的点全是黑色,有两种操作. 1 x 将x这个点变为黑色,保证第一 ...

  7. Codeforces 1129 E.Legendary Tree

    Codeforces 1129 E.Legendary Tree 解题思路: 这题好厉害,我来复读一下官方题解,顺便补充几句. 首先,可以通过询问 \(n-1​\) 次 \((S=\{1\},T=\{ ...

  8. 2020牛客国庆集训派对day3 I.Rooted Tree(哈代-拉马努金拆分数列)

    2020牛客国庆集训派对day3 I.Rooted Tree(哈代-拉马努金拆分数列) 题目 https://ac.nowcoder.com/acm/contest/7830/I 题意 给你n个点,问 ...

  9. Codeforces #1248B Grow The Tree题解(Java)

    Codeforces #1248B Grow The Tree题解(Java) 题目大意: 输入: 输出: 数据范围: 思路 代码 题目链接 题目大意: 给出一组线段(题目中叫树枝)的长度,制作成一条 ...

  10. Codeforces 463E Caisa and Tree

    Caisa and Tree 在dfs的过程中枚举质因子瞎搞搞就好啦, 不过这个题意真的表述不清.. #include<bits/stdc++.h> #define LL long lon ...

最新文章

  1. linux网络虚拟化
  2. phpstudy2016安装redis扩展
  3. VS切换到按F5不需要按Fn键的快捷键模式
  4. docker 安装nginx 配置目录挂载
  5. sql server 2008学习9 视图
  6. 关于PHP数组方法array_walk的疑问
  7. MySQL 常见的开放性问题
  8. 【索引】联合索引的基本知识
  9. 编译原理-提取左公因子---消除左递归(自己看)
  10. 实验二(第一部分,第二部分)
  11. Mac中将 WEBP 图片转成 JPG、PNG 格式的 2 种方法
  12. 记录ubuntu18.04安装QQ过程
  13. Android判断世界各国手机号码合法性
  14. MongoDB 文档操作之插入、查询
  15. Altium Designer中修改敷铜与焊盘间的间距
  16. onkeyup+onafterpaste
  17. 06.变革、变革、再变革
  18. 免费教程《Excel VBA:办公自动化》
  19. C++:实现复数运算
  20. request.setAttribute的用法

热门文章

  1. android service录音,android录音并上传至服务器
  2. 知乎与百度知道竞品分析-用户五要素
  3. Android动画定时lnvaliate,Android6.0 MTK6737 启动流程 · Younix’s Studio
  4. Android开发人员不得不收集的代码(不断更新)
  5. Android开发必备知识
  6. CentOS 7中利用Snapper快照进行系统备份与恢复
  7. 计算机待机时间长黑屏怎么办,电脑黑屏?如何解决?
  8. 视频教程-uni-app实战仿微信app开发-Webapp
  9. 如何实现不规则的Div外部形状?
  10. vue使用LayIM组件接入第三方通讯平台:融云