Focus on yourself, mi|

wscqwq

园龄:2年粉丝:2关注:3

AvoidStraightLine

ABC312G:Avoid Straight Line

Distance Sums 2的简单扩展,做法完全一致。

题解:https://blog.csdn.net/weixin_52536621/article/details/127039502)(树形那一栏)

考虑对于一个三元组,要求解不在一条简单路径上的三点,发现不好做,那我们可以求在一条简单路径上的三点,然后根据组合数 Cn3ans 即可。

然后发现只要确定了两个端点,然后中间任选一个点即可。这样的方案肯定是唯一的。

我们可以用那道题的做法处理出距离和,减去 n1(除掉端点)即可。然后最后因为有两个端点都会算到,所以 ÷2

AC

对于距离和的部分,不需要这么麻烦。

我们直接考虑每条边的贡献即可,每条边的贡献为子树内的所有点 × 子树外的所有点

直接一遍 dfs 处理出每条边的贡献加和,然后最后去除两两点对的端点费用(即 Cn2)即可,然后再用总方案数减去。

AC2

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/17591019.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(14)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起