题目名称 3922. 删除题目
输入输出 delete.in/out
难度等级 ★★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatarop_组撒头屯 于2023-10-16加入
开放分组 全部用户
提交状态
分类标签
李超线段树 斜率优化
分享题解
通过:1, 提交:2, 通过率:50%
Gravatarop_组撒头屯 100 0.923 s 12.72 MiB C++
GravatarHzmQwQ 10 2.972 s 9.93 MiB C++
本题关联比赛
CSP2023-S模拟赛
CSP2023-S模拟赛
关于 删除题目 的近10条评论(全部评论)
李超树合并 + dsu on tree
Gravatarop_组撒头屯
2023-10-19 20:26 4楼
orz云浅
Gravatarzxhhh
2023-10-19 20:13 3楼
1log
https://www.cnblogs.com/YunQianQwQ/p/17770767.html
upd 1log 假了大家别信 2log 没啥问题
GravatarYunQian
2023-10-18 16:42 2楼
回复 @YunQian :
云浅姐姐带带我/kk
GravatarHzmQwQ
2023-10-18 15:35 1楼

3922. 删除题目

★★★★   输入文件:delete.in   输出文件:delete.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

敌方的通信网络构成一个 $n$ 个节点的树,其中任意两个不同的节点间存在联络,即总共存在 $\frac{n(n-1)}{2}$ 对联络。节点 $1$ 为根。

你可以在一些边上放置炸弹来截断敌方的通信。具体的,如果在一条边上放置炸弹,那么所有需要经过该边的联络都会被截断,而你也需要积累一定的的疲惫值。

现在你可以从任意节点出发并走到任意节点,并在简单路径上放置任意多个炸弹。最后,你的收益是 $P - W$,其中 $P$ 为你截断的联络总数,$W$ 为你积累的疲惫值之和。

你希望最大化收益,请求出收益的最大可能值。

【输入格式】

第一行包含一个整数 $n$。

接下来 $n-1$ 行,第 $i$ 行两个整数 $p,w$,表示节点 $i$ 的父亲为 $p$,且在它与父亲之间的边上面放置炸弹的疲惫值为 $w$。

【输出格式】

一个整数,表示你的最大可能收益。

【样例输入1】

5
1 6
1 1
3 1
4 9

【样例输出1】

6

【样例说明】

从节点 $1$ 出发走到节点 $4$,并在 $(1,3),(3,4)$ 两条边上放置炸弹,此时 $P=8,W=2$。 

若从节点 $1$ 出发走到节点 $5$,并在 $(1,3),(4,5)$ 两条边上放置炸弹,此时 $P=8,W=10$。

【样例输入2】

10
1 0
1 2
3 -1
4 1
4 4
6 6
4 3
3 4
8 9

【样例输出2】

33

【样例下载】

样例下载

【数据规模与约定】

对于前 $10\%$ 的数据,保证 $1 \le n \le 10$。 

对于前 $30\%$ 的数据,保证 $1 \le n \le 1000$。 

另有 $20\%$ 的数据,保证树是一条链。 

对于 $100\%$ 的数据,保证 $1 \le n \le 10^5, |w| \le 10^8$。

【来源】

蒙德城算法竞赛 T4