首页 > TAG信息列表 > CF1120D

CF1120D Power Tree

题面传送门 首先不难想到把这个叶子的dfs序推成区间。然后对应了一个区间加 区间加容易让人想到差分,变成单点加。 又因为差分后全部的和为0,也就是说如果把这个看成一条边,那么联通块是可以全部调整成0的。 所以做一个MST即可,注意判断可以在其中一中里面的边。 code: #include<bits/

CF1120D Power Tree(树形DP/构造+差分+最小生成树)

解法一:树形DP 个人觉得这个方法是比较可能想到的,但是输出方案很恶心 先转换题意:“无论怎样规定叶子的初始点权,都可以通过操作你选择的点来让所有叶子的点权清空”意味着每个叶子节点都可以通过一系列操作单独+1、-1 模拟一下就可以发现,以u为根的子树中, 要想通过控制

CF1120D Power Tree(构造题,差分,最小生成树)

很有趣的一道题。 首先可以对每个叶子进行编号。按照DFS到的顺序即可。(假设从 $1$ 到 $k$) 然后对每个点求出它管辖的所有叶子的编号。因为是DFS序所以这一定是个区间。设点 $u$ 的这个区间是 $[l_u,r_u]$。 区间加操作,考虑差分,那么每个点的操作就变成了 $l_u$ 加一个数,$r_u+1$ 减一

CF1120D Power Tree

沙发~~ 题意简述 给你一棵有根树,定义叶子为度数为1的点。 你可以以$ w_x $的代价控制$x$点。选择控制之后可以给它的子树里的叶子加 上$t (t \in Z )$。 你要以最小的总代价使得:另一个人在叶子上任意放数,你都可以把它 们都变成0。 最后输出最小的总代价,以及有多少点可能被控制,以及