CF1375G Tree Modification 题解

news/2025/11/17 21:59:09/文章来源:https://www.cnblogs.com/Rock-N-Roll/p/19234568

\(\text{CF1375G Tree Modification 题解}\)

相当能引起思考的题目,这里给出两种方法。

首先这个操作相当于把一个节点的孙子及这个孙子的儿子拽上来作为它的儿子,这样的话从下往上合并一定是最优的。那么容易想到的是做一个 dp,定义 \(dp_{x}\) 表示 \(x\) 子树内形成了二叉树的结构所需最少步数,那么转移式子大概形如 \(dp_{fa_x}=\sum dp_{y\in son_x}+1\)。然后我们可以直接换根。令 \(1\) 为初始根,那么换根的时候发现对于 \(y\notin son_1\),令 \(t=fa_{fa_y}\),有 \(ans_y=dp_y+(ans_t-dp_y-1)-1\),换句话说树上任何两个距离为 \(2\) 的点作为根时答案是相等的,那么我们只需要取 \(dp_1\)\(dp_{son_x}\) 就可以通过了。给出代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
int n;
vector<int>v[N];
int dp[N];
void dfs(int x, int fa) {for (int y : v[x]) {if (y == fa) continue;dfs(y, x);dp[fa] += dp[y] + 1;}
} 
int main() {ios::sync_with_stdio(0);cin.tie(0);cin >> n;for (int i = 1; i < n; i++) {int x, y;cin >> x >> y;v[x].push_back(y);v[y].push_back(x);}dfs(1, 0);int ans = dp[1];memset(dp, 0, sizeof dp);dfs(v[1].back(), 0);cout << min(ans, dp[v[1].back()]) << '\n';return 0;
}

这样暴力换根 dp 还是显得有点蠢了。既然我们在最后换根的时候有更好的性质,那么我们是不是有更好的方法解决这个问题呢?

考虑刚才发现的性质是和距离有关,那么考虑从距离的角度表述一次操作。发现一次操作相当于把 \(x\) 儿子距离根的距离减少 \(1\),把 \(x\) 子树内所有节点距离根的距离减少 \(2\),其它不变。关注这个特殊的 \(x\) 的儿子,发现只有它距离根的距离的奇偶性发生了改变,那么进行黑白染色,一次操作相当于改变一个点的颜色,最终要求只有一个点的颜色和其它点的不一样,于是直接黑白染色即可。仔细想想这个东西才是换根 dp 时那个性质的本质。

#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
int n;
vector<int>v[N];
int a[2];
void dfs(int x, int fa, int o) {++a[o];for (int y : v[x]) {if (y == fa) continue;dfs(y, x, !o);}
} 
int main() {ios::sync_with_stdio(0);cin.tie(0);cin >> n;for (int i = 1; i < n; i++) {int x, y;cin >> x >> y;v[x].push_back(y);v[y].push_back(x);}dfs(1, 0, 0);cout << min(a[0], a[1]) - 1 << '\n';return 0;
}

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

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

相关文章

AI评价11月17号

AI评价11月17号评: 文章立意准确,抓住了“科技普惠”与“人文关怀”的核心矛盾,并提出了解决问题的方向。但文章在逻辑结构、论证深度和语言表达上存在明显短板,影响了整体得分。 综合得分:65分(满分100分,按申…

避雷:aicodemirror.com --- 酒干倘卖无

避雷:aicodemirror.com --- 酒干倘卖无先是宣传说免费KEY可申请,申请好了送了积分,好不容易配置好Claude, 连上却说免费的用不了。 广告宣传充值赠积分(11点),结果充了值,说积分不送了(10点截止),我说送不了…

9-线性学习

9-线性学习线性学习 线性回归 基本思想:先求出损失函数的最小值,然后找出对应的直线,求出直线参数a和b的值,得到线性回归方程。 就是运用直线来描述数据之间关系的一种算法。 变量之间的关系有函数关系和相关关系。…

AT AGC003 题解

AT AGC003 EditorialA 简单题,由于每一步的距离都可以随意确定,同时只要求最后回到原点,所以只要各个方向上都有相应相反的方向存在即为合法,反之存在一个不匹配的方向则不合法。我的写法绝对傻了。 #include <…

Oracle故障处理:aix 5.3 ml6安装10.2.0.1 rac报错

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。Oracle案例处…

Hive SQL循环与MapReduce的关系

Hive SQL循环与MapReduce的关系主要体现在Hive如何将SQL查询转换为MapReduce任务来执行。Hive是一个基于Hadoop的数据仓库工具,它允许用户使用类SQL的查询语言来处理和分析存储在Hadoop分布式文件系统(HDFS)中的数据…

《算 设》学

首先,我通过分块把标题的代价切分成若干份间的交互。其次,我通过势能函数把中间一段的代价摊还了。最后,我加了随机采样并期望它以高概率包含关键集合。\[\newcommand{\cur}[1]{\left\{#1\right\}} \newcommand{\t}…

[GESP202506 二级] 幂和数

[GESP202506 二级] 幂和数B4357 [GESP202506 二级] 幂和数 题目描述 对于正整数 $n$,如果 $n$ 可以表为两个 $2$ 的次幂之和,即 $n = 2^x + 2^y$($x, y$ 均为非负整数),那么称 $n$ 为幂和数。 给定正整数 $l, r$,…

*题解:P3586 [POI 2015 R2] 物流 Logistics

原题链接 解析 考虑能每次选 \(c\) 个正数进行 \(s\) 次 \(-1\) 操作的充要条件是什么。首先由于只进行 \(s\) 次操作,可以将 \(> s\) 的数视为 \(s\)。然后求和,如果和 \(< c \cdot s\),那么必定无法操作,反…

欢迎关注我的公众号和B站

最近一年很少写博客。随着AI火热,AI+搜索、AI+知识库日渐成熟,很多问题都能通过AI+搜索快速找到解决方法,个人博客已经式微。以后我这个博客估计很少更新,但不是完全放弃,可能偶尔会更新一些内容,如果我想更新的…

week3 作业

week3 作业(一)最优子结构与递归方程 设 dp [i][j] 表示从顶部走到第 i 行第 j 列的最大路径和。最优子结构表现为:dp [i][j] = max (dp [i-1][j-1], dp [i-1][j]) + 三角形第 i 行第 j 列数值(j>0 且 j<i)…

hive mybatis是否支持动态SQL

Hive MyBatis 支持动态 SQL。MyBatis 提供了动态 SQL 功能,可以根据不同的条件生成不同的 SQL 语句。在 Hive MyBatis 中,可以使用 <if> 标签来实现动态 SQL 的编写。例如,当需要根据某个字段的值来动态生成查…

一类将度数变为 1/2 的优化建图 笔记

有以下特点:儿子数和复杂度强相关,不同子树的本质相同,按照一定的顺序做 / 判定,答案不变。 1. P6326 Shopping 不知道为啥很快就会了只有一个儿子的情况(实则对树形背包不熟练导致的),就是强制选一个自己的物品…

2025.11.17模拟赛

赛时,调动的挺好吧 赛时看4题推了推,都没有推出来 然后回去稳定了一下心态 看T1,终于会了,然后大概在2h30min切掉了 然后去推T3,大概在还有1个多小时会了正解做法,但是决策单调性优化这一块之前没写过,不知道该…

11/17

今天Java弄了下前端,后端,数据库连接,但注册界面一直没弄好,只能登,不能注册

英语_阅读_Electric cars_待读

In the early 20th century, the worlds transportation system relied heavily on steam-powered trains and horse-drawn carriages. 在20世纪早期,世界的交通系统严重依赖蒸汽火车和马车。 These modes of transpo…

linux 下中文字体安装.ttf 格式

把下载的字体 复制到 linux系统的目录下 命令: sudo cp your-font.ttf /usr/local/share/fonts/ 宋体URL: https://files.cnblogs.com/files/blogs/773702/simsun.7z?t=1763385354&download=true 免费的 WenQua…

2025 年锚具厂家 TOP 企业品牌推荐排行榜,预应力锚具 / 五孔锚具 / 低回缩锚具 / 张拉锚具 / 固定端锚具 / 桥梁预应力锚具 / 边坡锚具公司推荐!

引言在建筑行业尤其是桥梁建设、市政工程等领域,锚具作为关键部件,其质量优劣直接关乎工程的安全性与耐久性。当下锚具市场品牌众多,产品质量参差不齐,这给采购方和工程建设者们带来了诸多困扰。部分小品牌锚具,因…

2025 年锚具厂家 TOP 企业品牌推荐排行榜,桥梁伸缩缝 / 道路伸缩缝 / 梳齿板伸缩缝推荐这十家公司!

引言在建筑与桥梁工程领域,伸缩缝扮演着至关重要的角色。它能有效应对因温度变化、地基沉降等因素导致的结构伸缩变形,确保建筑和桥梁的稳定性与安全性。然而,当前伸缩缝行业面临诸多问题。一方面,市场上品牌众多、…

2025 年锚具厂家 TOP 企业品牌推荐排行榜,橡胶支座 / 桥梁支座 / 国标支座 / 滑板支座 / 固定支座 / 弹性支座 / 活动铰支座 / 盆式支座 / 减震支座 / 缓冲支座公司推荐!

引言在当今的建筑与工程领域,支座作为关键部件,其质量与性能直接关系到工程的稳定性与安全性。然而,随着市场的不断发展,支座品牌与厂家如雨后春笋般涌现,这使得采购方与工程团队在选择时面临诸多困扰。一方面,不…