Codeforce 1800Difficulty Graphs 20 questions
1.CF1324F Maximum White Subtree
给定一棵 nnn 个节点无根树,每个节点 uuu 有一个颜色 aua_uau,若 aua_uau 为 000 则 uuu 是黑点,若 aua_uau 为 111 则 uuu 是白点。
- 对于每个节点 uuu,选出一个包含 uuu 的连通子图,设子图中白点个数为 cnt1cnt_1cnt1,黑点个数为 cnt2cnt_2cnt2,请最大化 cnt1−cnt2cnt_1 - cnt_2cnt1−cnt2。并输出这个值。
- 1≤n≤2×1051 \leq n \leq 2 \times 10^51≤n≤2×105,0≤au≤10 \leq a_u \leq 10≤au≤1。
第一次dfs,先用1做根预处理出每个点的子树中最大的cnt1-cnt2(自底向上)
第二次dfs,对于每一个子树
若该子树的size>0,则有两种选择,一种是只选择这棵子树,二是选择整棵树
若该子树size<0,可以选择这棵子树或者选择整棵树,因为父亲树是不包括它的,所以要父亲树加上这棵子树
#include<bits/stdc++.h>
using namespace std;
constexpr int maxn=2e5+5,inf=0x3f3f3f3f;
int n,m,k,t,cnt,tt;
int size[maxn];
vector<int>e[maxn];
void dfs1(int u,int fa){for(auto v:e[u]){if(v==fa)continue;dfs1(v,u);if(size[v]>0)size[u]+=size[v];}
}
void dfs2(int u,int fa){for(auto v:e[u]){if(v==fa)continue;if(size[v]>0){size[v]=max(size[v],size[u]);}else{size[v]=max(size[v],size[u]+size[v]);}dfs2(v,u);}
}
int main(){cin>>n;int flag=0;for(int i=1;i<=n;i++){cin>>size[i];if(!size[i])size[i]=-1;}for(int i=1;i<=n-1;i++){int u,v;cin>>u>>v;e[u].push_back(v);e[v].push_back(u);}dfs1(1,1);dfs2(1,1);for(int i=1;i<=n;i++){printf("%d ",size[i]);}
}
Codeforce 1800Difficulty Graphs 20 questions相关推荐
- What are 20 questions to detect fake data scientists?
Q1:解释什么是正规化(regularization)以及它的用处.解释特定方法的优劣势,如岭回归(ridge regression)和LASSO算法? [Matthew Mayo解答] 正则化项是保 ...
- codeforce golobal round 20 - 1672D - Cyclic Rotation
1672D - Cyclic Rotation 题意:给长度相等的数组 a 和 b ,判断能否通过以下操作将 a 变为 b . 在 a 数组中一段子数组,若两端的数相同,该段向左旋转一位 分析: 想想 ...
- AI:Algorithmia《2020 state of enterprise machine learning—2020年企业机器学习状况》翻译与解读
AI:Algorithmia<2020 state of enterprise machine learning-2020年企业机器学习状况>翻译与解读 目录 <2020 state ...
- A002-185-1203
目录 一.查词文档 3 1.第一次查词 3 1.1需求基线(Requirements baseline) 3 1.2 概念聚类(Conceptual clustering) 7 1.3图形元素(Gra ...
- 本周最热 AI 论文大集合,还不快一键收藏?
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
- msbuild构建步骤_如何按照以下步骤构建最终的AI聊天机器人
msbuild构建步骤 by Paul Pinard 保罗·皮纳德(Paul Pinard) 如何按照以下步骤构建最终的AI聊天机器人 (How to build the ultimate AI ch ...
- linux编码安装mysql_在Ubuntu 15.10下安装mysql设置数据库编码
在从windows 10 的开发环境换到Ubuntu 15.10 后,发现原来的项目竟然不能正常地对数据库进行初始化,后来在控制台查看后,发现是数据库编码的问题. 1.在Ubuntu中安装mysql可 ...
- 惹怒程序员的下场!阿里达摩院大神受不了骚扰电话,业余发起“二哈”AI,315后爆红...
李根 发自 首都机场 量子位 报道 | 公众号 QbitAI 不要惹怒程序员.不要惹怒程序员.不要惹怒程序员. 即便你是一年呼出40亿次的机器人骚扰电话. 在3.15晚会曝光机器人拨打骚扰电话黑色产 ...
- java编程测试题_Java编程测试可帮助您评估求职者
java编程测试题 Sometimes back one of my good friend asked me to assess few job candidates for Java progra ...
- jspdf插件实现jsp页面导出为pdf文件
最近在公司里实习作项目,项目中有一个优化需求,就是将指定的jsp页面导出为pdf文件输出.因为之前从未了解过相关方面只知识,所以在查了一番资料后,发现大家写的都很散,不是很清楚,甚至有的代码执行不出来 ...
最新文章
- arduino 控制无刷电机_智能控制轮椅来了,残疾人的福音!
- 《Data-Intensive Text Processing with mapReduce》读书笔记之一:前言
- 解决php写入mysql乱码问题汇总
- 文件系统过滤驱动开发(一)—Win32底层开发小组
- matlab根据结构体数组,用邻接矩阵和序遍历创建树形结构:
- DEV全选多选小技巧
- 童装英文外贸网站系统源码 v1.5.5
- java压缩文件夹(含有空文件夹)
- 招聘 | 浙大杨杰课题组-博士后与科研助理-医学AI/NLP
- 微软服务器补丁每月几号发布,微软补丁日安全通告 |9 月份
- 网络编程(三)sqlist轻量级数据库的简单应用
- 开关电源PFC电路原理详解及matlab仿真
- 车牌号识别php+sdk,车牌识别SDK
- python excel 饼图_通过python xlsxwriter模块生成EXCEL柱状图、饼图
- 贪心——国际象棋锦标赛
- ‘文件夹正在使用‘解决方案
- 2021前端经典面试题
- 左偏树(XJT Love Trees,玲珑杯 Round#8 C lonlife 1081)
- 微信公众号开发__微信网页授权并获取用户基本信息(是否关注公众号、头像、昵称等)
- 官网下载Eclipse历史版本
热门文章
- apache中文翻译
- 如何成为优秀的技术人员
- 在Web页面中控制其元素的选择状态
- SpringBoot 轻量级英文版个人博客 flame
- linux安装weblogic界面,Weblogic11g 安装Linux下无Weblogic安装图形界面
- 安川机器人如何注释化指令_安川机器人 命令介绍 内部版
- python辗转相除法求最大公约数_vb编程实现用辗转相除法求两个数a和b的最大公约数...
- 十大排序算法——桶排序(C语言)
- LightGBM 二元分类、多类分类、 Python的回归和分类器应用
- 利率模型暗示美国股市是合理价值(仅做参考)