技术经验分享:CF1187ETreePaiting(树形DP+换根)

简介: 技术经验分享:CF1187ETreePaiting(树形DP+换根)

"

CF1187E Tree Painting(树形DP+换根)

题意:

给出一棵树,开始所有的点都是白色的,你可以给树上的点染色。

一次染色,你可以选择任意一个和已经被染成黑色的点相邻的白点,将其染成黑色,并获得等同于这个点所在的白色连通块的点数的分数。询问最大分数。

题解:

先一遍DFS处理出每个点的子树节点数量,第二遍DFS不断更换根节点,维护当前所有子树节点数量和,取最大的就是答案。

//第一步选择一个白色顶点涂成黑色

//之后每//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjg1NTU4OA==.html

步选择一个与黑色顶点相邻的白色顶点涂成黑色

//每涂一次的分数是这个点所在的白色连通块的点数

//询问最大分数

#include

using namespace std;

const int maxn=2e5+100;

typedef long long ll;

int n;vector[span style=""color: rgba(0, 0, 255, 1)"">int

int size【maxn】;

void dfs (int u,int f) {

size【u】=1;

for (int v:g【u】) {

if (v==f) continue;

dfs(v,u);

size【u】+=size【v】;

}

}

ll sum,ans=0;

//换根

//从u转移到v

//size【u】变成n-size【v】

//size【v】变成n

void dfs1 (int u,int f) {

for (int v:g【u】) {

if (v==f) continue;

int t1=size【u】,t2=size【v】;

size【u】-=size【v】;

size【v】=n;

sum+=size【u】-t1+size【v】-t2;

ans=max(ans,sum);

//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDQxMDA2NA==.html

dfs1(v,u);

sum-=size【u】-t1+size【v】-t2;

size【u】=t1;size【v】=t2;

}

}

int main () {

scanf(""%d"",&n);

for (int i=1;i

int x,y;

scanf(""%d%d"",&x,&y);

g【x】.push_back(y);

g【y】.push_back(x);

}

dfs(1,0);

for (int i=1;i<=n;i++) sum+=size【i】;

ans=sum;

dfs1(1,0);

printf(""%lld\n"",ans);

}


"
image.png
相关文章
若依框架 --- echarts 封装
若依框架 --- echarts 封装
592 0
|
druid Java 关系型数据库
😧 SpringBoot(四)
😧 SpringBoot
131 0
|
开发工具 git
【TP5.1】引入百度ueditor富文本编辑器
【TP5.1】引入百度ueditor富文本编辑器
197 0
【TP5.1】引入百度ueditor富文本编辑器
|
缓存 JavaScript 前端开发
自制 移动端 纯原生 Slider滑动插件
在Google搜关键字“slider”或“swiper”能找到一大堆相关插件,自己造轮子是为了能更好的理解其中的原理。
自制 移动端 纯原生 Slider滑动插件
传智健康[四]
关于传智健康的相关知识
189 0
传智健康[四]
|
1天前
|
人工智能 运维 安全
|
3天前
|
SpringCloudAlibaba 负载均衡 Dubbo
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
本文对比分析了SpringCloudAlibaba框架下Feign与Dubbo的服务调用性能及差异。Feign基于HTTP协议,使用简单,适合轻量级微服务架构;Dubbo采用RPC通信,性能更优,支持丰富的服务治理功能。通过实际测试,Dubbo在调用性能、负载均衡和服务发现方面表现更出色。两者各有适用场景,可根据项目需求灵活选择。
371 123
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
|
6天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
581 107

热门文章

最新文章