我定睛一看,上一篇博客居然是去年省选写的...emmm我果然很懒.. 又是一年省选季,临死前订正一下去年的题吧.. 作为第一天30pts的滚粗选手,我去年并没有怎么思考这题.. 题意概括好麻烦,来来来我们放题目链接.. 为了方便叙述,我们用Ti表示 ∑(i在lca的子树中)ai . 从无修改的情况的入手.我们先解决一个问题,即:如果给出一个崛起的顺序,比如样例中的4,1,5,3,2,我们要怎么计算灾难度之和. 考虑顺序为:......u.....v..... 则u,v贡献一个灾难度的条件为:u.…
「ZJOI2018」历史(LCT) \(ZJOI\) 也就数据结构可做了-- 题意:给定每个点 \(access\) 次数,使轻重链切换次数最大,带修改. \(30pts:\) 挺好想的.发现切换次数只跟子树中所有结点的 \(access\) 次数,可以树形 \(dp\).假设 \(x\) 有 \(m\) 个儿子,每个儿子的 \(access\) 次数为 \(A_i\),自己为 \(A_0\),问题转换成有 \(m+1\) 种颜色,问怎么使颜色不同的间隔最多.使 \(sum=\sum_{i=0}…
「ZJOI2018」历史 前置知识 \(\text{LCT}\) 维护子树信息,考虑辅助树上一个节点的子树信息只是其代表的这一段链的信息,设 \(S(u)\) 为节点 \(u\) 的子树信息,那么在辅助树上我们维护的是: \[ S(u)=S(lson)+S(rson)+val(u) \] 考虑它们的实际意义 \(lson\) 是 \(u\) 的父亲,\(rson\) 是 \(u\) 的重儿子,显然 \(S(lson)\) 是我们不需要的,而真正的辅助信息只算了节点本身和重儿子. 考虑按照这样算的…
题目传送门 Description 九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 \(n\) 个城市,这 \(n\) 个城市被恰好 \(n − 1\) 条双向道路联通,即任意两个城市都可以互相到达.同时城市 \(1\) 坐落在世界的中心,占领了这个城市就称霸了这个世界. 在最开始,这 \(n\) 个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛起形成国家并夺取世界的霸权.为了方便,我们标记第 \(i\) 个城…
九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 \(n\) 个城市,这 \(n\) 个城市被恰好 \(n-1\) 条双向道路联通,即任意两个城市都可以互相到达.同时城市 \(1\) 坐落在世界的中心,占领了这个城市就称霸了这个世界. 在最开始,这 \(n\) 个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛起形成国家并夺取世界的霸权.为了方便,我们标记第 \(i\) 个城市崛起产生的国家为第 \(i\) 个国家…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ374.html 题解 想出正解有点小激动. 不过因为傻逼错误调到自闭.不如贺题 首先我们考虑如何 $O(n)$ 求一个答案. 首先,计算两条路径的贡献时,由于两国连续交战数次只算一次,所以我们可以只看这两条路径的交的最深点. 也就是说,我们可以对于每一个点分开考虑,假装他的同一个子树的所有点颜色相同,不同子树的点颜色不同,它本身也当作一个子树看. 假设 x 是当前节点,y 是 x 的子树. 设 size…
题意 click here 题解 我们首先考虑答案是个什么样的东西, 不难 发现每个点可以单独计算它的贡献. 令每个点 \(i\) 崛起次数为 \(a_i\) . 假设一个点子树的 \(\sum a_i\) 分别为 \(b_1,b_2,\dots,b_k\) ,令 \(S = a_i + \sum b_j\) . 那么这个点的答案为 \[ \min (2(S - \max(\max\{b_j\}, a_i)), S - 1) \] 至于为什么是这样可以简单说明下: \(S - 1\) :显然是这…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 n 个城市,这 n 个城市被恰好 n-1 条双向道路联通,即任意两个城市都可以互相到达.同时城市 1 坐落在世界的中心,占领了这个城市就称霸了这个世界. 在最开始,这 n 个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛起形成国家…
写在前面 偶然翻到一篇 2019-08-07 18:58 写的未发布的题解. 给大家找点乐子玩. 正文 知识点:线段树优化建图 线段树优化建图 用于解决 类似 从 x 向区间[L,R]的 区间连边问题 原图: 1 2 3 4 向其中添加一系列虚点 , 并将虚点与实点 , 虚点与虚点 连边, 将添加的边,的边权值设为0 之后: o / \ o o / \ / \ 1 2 3 4 形成一棵满二叉树 对于这棵满二叉树, 可以将其当作一棵线段树, 来进行一系列的操作: 对于 从 x 向区间[L,R]连边…
LOJ 思路 第一眼看似乎没有什么思路,试着套个DP上去:设\(dp_x\)表示只考虑\(x\)子树,能得到的最大答案. 合并的时候发现只有\(x\)这个点有可能做出新的贡献,而做出新贡献的时候必然是两个来自不同子树的国家发生战争. 于是做法突然就明朗了起来:对于每个点\(x\),记\(s\)表示子树内的崛起次数.\(p\)表示最大子树的崛起次数(也有可能是\(x\)自己),那么它对答案的贡献就是 \[ \min(s-1,2(s-p)) \] 为什么?其实就是用其他子树消耗最大子树的一个过程.…