E86 换根DP CF1324F Maximum White Subtree

news/2025/2/7 0:11:08/文章来源:https://www.cnblogs.com/dx123/p/18579071

视频链接:

 

 

Maximum White Subtree - 洛谷 | 计算机科学教育新生态

// 换根DP O(n)
#include <bits/stdc++.h>
using namespace std;const int N=200005;
vector<int> e[N];
int n,a[N],f[N];void dfs(int u,int fa){f[u]=a[u];for(auto v:e[u]){if(v==fa)continue;dfs(v,u);if(f[v]>0) f[u]+=f[v];}
}
void dfs2(int u,int fa){for(auto v:e[u]){if(v==fa)continue;if(f[v]>0) f[v]=max(f[v],f[u]);else  f[v]=max(f[v],f[v]+f[u]);dfs2(v,u);}
}
int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n;for(int i=1;i<=n;++i){cin>>a[i];if(a[i]==0) a[i]=-1;}for(int i=1,x,y;i<n;++i){cin>>x>>y;e[x].push_back(y);e[y].push_back(x);}dfs(1,0);dfs2(1,0);for(int i=1;i<=n;++i)cout<<f[i]<<' ';
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/846307.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Azure Developer】分享一段Python代码调用Graph API创建用户的示例

问题描述 在Azure门户(Create new user - Microsoft Azure 由世纪互联运营)中添加新用户,如果想通过代码来实现,有没有示例代码参考呢?问题解答 示例代码from azure.identity import AzureAuthorityHosts from azure.identity.aio import ClientSecretCredential from kiota…

Cocos creator制作透明背景桌面宠物

Cocos creator制作透明背景桌面宠物 目录Cocos creator制作透明背景桌面宠物来源前言验证可使用版本打包方案实现1、electron-js中main.js设置2、Cocos creator中宏配置3、Cocos creator中Canvas设置4、Cocos creator构建Web移动端5、修改Web移动端style.css6、使用electron-js…

【数据结构】 字典树trie详解

定义: 将多个字符串以树的方式存储即为字典树,如图,\(1,4,3,12\) 表示 \(cca\) ,我么用 \(ch[i][j]\) 来表示第 \(i\) 个节点的 \(j\) 字符所指向的下一个节点,\(tag[u]\) 表示节点 \(u\) 是否代表一个字符串的结尾,如果是的话,\(tag[u]=1\)。模板CODE 添加字符串 //n表…

五款实用报表工具对比推荐,各种免费好用的报表工具等你来试

概述 报表工具是企业进行数据分析、展示和决策支持的核心工具之一。本文将为大家介绍五款各具特色的报表工具,包括国产的山海鲸报表、FineReport,以及国际工具Databox、Pentaho Reporting和Zoho Analytics。通过详细分析它们的功能特点、优势和不足,帮助大家根据自身需求选择…

H5-24 CSS盒子模型(Box Model)

1、概念:所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用CSS盒模型本质上是一个盒子,封装周围的元素HTML元素,它包括:外边距(margin),边框(border),内边距(padding),和实际内容(content) Margin(外边距):清楚边框外…

Logisim-022-☆16位快速加法器

电路文件所在 电路/3-data.circ 中的 ☆32位快速加法器仓库地址 https://gitee.com/gitliang/logisim-to-cpu

P11233 [CSP-S 2024] 染色 题解

我们设 \(dp_{x,y}\) 表示上一个红色是 \(x\),上一个蓝色是 \(y\) 时最大的价值。 容易发现转移为 \(dp_{a_i,x}=\max\limits_{j=1}^k dp_{k,x}+[k=a_i]a_i,dp_{x,a_i}=\max\limits_{j=1}^k dp_{x,k}+[k=a_i]a_i\)。其中 \(k\) 是值域。 容易发现,转移完后的 \(dp\) 数组中有…

Sybaris pg walkthrough Intermediate

nmap ┌──(root㉿kali)-[~/lab] └─# nmap -p- -A 192.168.166.93 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-03 01:12 UTC Nmap scan report for 192.168.166.93 Host is up (0.071s latency). Not shown: 65519 filtered tcp ports (no-response) PORT …

H5-23 关系选择器

关系选择器分为:后代选择器、子代选择器、相邻兄弟选择器、通用兄弟选择器 1、后低选择器定义:选择所有被E元素包含的F元素,中间用空格隔开语法:E F {}<ul><li>1</li><li>2</li><li>3</li></ul>   <ol><li>…

【DL】YOLOv8模型中的train.py

YOLOv8项目中有两个地方可以执行train.py 最外层的train.py(现在想起来这里好像是我自己写的训练脚本,原项目里没有)YOLO()构造函数默认构造的是目标检测的模型,也可以在方法的参数中指定task类型 models/yolo中的train.py这里的每个文件夹中定义了相对应任务中的训练脚本在…

获取剪切板的图片 - File - Base64 - Blob - url - Image,以及它们之间的各种相互转换

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣 一、获取剪切板的图片(拿到 File 对象) js粘贴事件paste简单解析及遇到的坑 - 云+社区 - 腾讯云 (tencent.com)document.addEventListener(paste, function(event) {let items = event.clipboardData && event…

k8s阶段05 Operator, DaemonSet, Job, CronJob, Ingress和Ingress Controller(蓝绿/恢复发布), helm

StatefulSet:编排有状态应用基本要求:需要给每个实例惟一且固定的标识,依赖于一个专用的Headless Service; 需要给每个实例一个专用的PVC卷,该卷要来自volumeTemplateClaim,卷的标识 “template_name-pod_name”;Pod Management Policy: OrderedReady:按顺序,依次Para…