首页 > 其他分享 >P5666 [CSP-S2019] 树的重心

P5666 [CSP-S2019] 树的重心

时间:2023-11-01 09:22:24浏览次数:39  
标签:子树 P5666 重心 siz mx leq S2019 times CSP

考虑一个结点在什么情况下会成为重心。

随便钦定一个根结点。对于结点 \(u\),假设割掉了其子树 \(v\) 中的某条边或连接 \(u\) 和 \(v\) 的边,形成了一棵大小为 \(k\) 的新树。

令 \(mx\) 表示除 \(v\) 子树外最大的子树大小(或 \(n-siz_u\))。如果 \(u\) 成为了重心根据定义有 \(2\times\max(mx,siz_v-k)\leq n-k\)。

整理一下就变成 \(2\times siz_v-n\leq k\leq n-2\times mx\)。

对于割掉 \(u\) 子树外面的边的情况,类似可以得出 \(2\times\max(mx,n-siz_u-k)\leq n-k\)。

整理一下就变成 \(n-2\times siz_u\leq k\leq n-2\times mx\)。

对于前一种情况,dsu on tree 维护一个树状数组计算可以割掉的子树数量。

对于后一种情况,先将全部子树扔进树状数组,然后在 DFS 的过程中不断更新(和换根 DP 一样)。不过我们只能得到当前子树内和子树外的和,所以得在前面 dsu on tree 的时候提前减掉子树内的部分。

注意上界大部分都是一样的,后一种情况的下界则都是一样的,所以可以记下来避免多次查询,常数会变小很多。

当然两只 \(\log\) 赛场上不一定过得去,考虑继续优化。


发现要维护的信息可以直接进行简单的加减得到,所以没有必要使用 dsu on tree,依次累加,离开某个子树时的答案减去进入该子树时的答案即是该子树内的答案。

我真是个傻逼

还有 \(O(n)\) 做法,好像是直接考虑重心的移动过程,具体可以去看题解。

标签:子树,P5666,重心,siz,mx,leq,S2019,times,CSP
From: https://www.cnblogs.com/landsol/p/17802299.html

相关文章

  • HN CSP-2023 游祭
    以下时间均以初赛为\(0\)点(2023.09.16)Day-3免作业条批了,不用写作业了。Day-2不用写作业,晚上就随便搞搞,模拟了一下之前的csp-s初赛,打的还行罢。Day-1最后一天了,冲刺初赛!晚上有洛谷入门赛,当信心赛打了,rk69。有一道题没去想就被准点放学赶出机房了,回去也没时间写。......
  • CSP-S2 好似记
    CSP-S2好似记似了,但还是发一下。一周前教练让写的。1min发呆5min缺省源10min通看一遍题5min仔细看T1,大概是一个简单搜索5min仔细看T2,大概是一个简单DP5min仔细看T1,5min仔细看T2,5min仔细看T1,5min仔细看T2,5min,看T1题面+模拟样例。看不懂。5min,......
  • P5404 [CTS2019] 重复 题解
    题目链接观察题目,我们发现直接计算是困难的,先构造单个合法的\(T\)分析其性质。为了构造出\(T\),先考虑构造时\(T\)时什么时候会出现不合法的情况,此时\(T\)会有一段和\(S\)相同的前缀,且这段前缀后面跟着的字符比\(S\)所跟的小。为了避免这种情况出现,我们需要在每次添......
  • CSP-S 2022 游记&总结
    智慧神说要写总结,所以就叫总结啦Day-1上午收拾了下行李,中午出发坐高铁去九江了,高铁上本来想临时学一下class的用法的(说不定用得上),结果看着CSDN竟然睡着了......下午四点左右到了,九江在下小雨(话说赣州好久没下雨了QWQ),忘记带伞了,最后还是蹭cjc的伞去的宾馆。晚上收手机前打......
  • CSPRO 历届题目与题解
    官方题目链接:http://118.190.20.162/\(\Huge目录\)201609201612201709202104202109202112202203202206202209202303202305202309\(\Huge\text{CSP201609}\)火车购票问题描述请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。假设一节车厢......
  • CSP-S 2023 邮寄
    前言先咕着,等什么时候心情好了再继续写。省流云斗OJ:T1100,T235,T3100,T40正文周五中午出发去九江,做的是高铁?路上看完了三本小说(但其实都是之前看过的),终于是到了九江。做出租车做了一个小时,收费73RMB(好贵QAQ),但是后来好像报销了???晚上和小A住一起(想吃外星人酿的苹果了)。晚......
  • [CSP-S2020] 儒略日 题解
    [CSP-S2020]儒略日今儿终于做掉困扰多年的题目了,其实想好细节也不难。容易发现儒略历和格里高利历的润年判断方式不一样,并且中间有消失的十天,计算起来相当不方便。所以我们可以首先计算出\(-4713.1.1\)~\(1582.10.4\)会经过多少天,可以通过一天一天暴力跳的方法计算出需要\(......
  • CSP-J 前三题详解
    没写完。先补会儿文化课作业,等会再回来继续写。T1P9748[CSP-J2023]小苹果令苹果数量为\(\texttt{n}\)。容易发现,拿苹果就是每三个一组,取第一个。需要注意的是,如果以三个一组来考虑拿苹果,最后几个苹果不满三个时也应该算一个组,第一个也要拿走。形式化的,即当\(\texttt{n}......
  • 周藤 CSP-2023游记
    Day-inf~Day-2基本上是考试状态,每天我都是自己取随机题目做,不过也保证了落实量每场模拟赛发挥基本上是不是特别稳定,考得好的时候AK了,考不好的时候只有300分,反正同届差不多第一吧。。。不过还被几个人诅咒爆零了,不过没事,一交解千愁/seDay-1教练说了考试注意事项,然后就去娱......
  • CSP-J/S游记
    Day-4摆烂Day-3摆烂Day-2摆烂Day-1摆烂Day0看了眼板子,赌今年不考字符串算法(真的没考)Day1上午J组,\(T2\)30分钟切掉了,\(T3\)模拟,写加调了40分钟过了,\(T4\)不会,写了个50分的暴力,结束。上午我做完题一直在对拍什么的,感觉有点浪费体力。中午休息了一下,和clp、l......