我定睛一看,上一篇博客居然是去年省选写的。。。emmm我果然很懒。。

又是一年省选季,临死前订正一下去年的题吧。。

作为第一天30pts的滚粗选手,我去年并没有怎么思考这题。。

题意概括好麻烦,来来来我们放题目链接。。

为了方便叙述,我们用Ti表示 ∑(i在lca的子树中)ai

从无修改的情况的入手。我们先解决一个问题,即:如果给出一个崛起的顺序,比如样例中的4,1,5,3,2,我们要怎么计算灾难度之和。

考虑顺序为:......u.....v..... 则u,v贡献一个灾难度的条件为:u....v之间没有点在lca(u,v)的子树中。比如例子中4,1,5中的4,5贡献了一个灾难度,是因为1不在lca(4,5)=2的子树中。可以发现,如一个u,v能通过lca贡献一个灾难度,那么u,v仅有两种情况:1.u,v为lca不同儿子的后代 2.u,v中某点为lca,另一点为lca的后代。

考虑u,v十分地累。。。所以考虑每个lca,由 u,v贡献灾难度的条件 我们发现,要计算通过lca贡献1的点对个数,只需关心lca子树中各点(共 ∑(i在lca的子树中)ai 个点)的相对位置。假设我们已知这个相对位置,现在要计算哪些点可以通过lca贡献一个灾难度。由情况1,2我们知道,lca的每个儿子的子树中的点是等价的。令lca的儿子个数为s,则,我们可以将lca子树中的所有点看成一些染了色的点(共s+1种颜色,每个儿子子树一种+lca一种)。

现在,对于每个lca,我们得到了(s+1)中颜色的点的排列。那么,通过lca贡献的1的点对个数 等价于这个排列上 相邻且不同色的点对u,v 的个数。(Q:为什么一定要相邻?A:如果不相邻,那么u,v之间出现的点一定会把u和v的所有公共路径覆盖掉,此时两点无法贡献答案。)

好,现在我们已经得到了一种已知崛起顺序的计算方法,我们来考虑让灾难度之和最大。容(mei)易(you)发现,上述计算方法有一个很不错的性质,即不管每个lca子树里怎么安排它的颜色序列,这些颜色序列都能组成整个方案。并且,每个序列可以直接对答案有独立贡献。这就很棒,不带修改的情况直接转换为一个相对简单的问题:

有c种颜色的点,颜色为i的点有Ti个。求出所有点的排列中 相邻异色点对个数 的最大值。

这个最大值的上界显然是 Ti-1 。我们考虑构造一种排列。现在我们有  Ti个空格子。我们将{ai}从大到小排序。先取出a1个颜色为1的点来填。为尽量不浪费,我们隔一格填1个1。填完之后,我们把填好的格子看作被删掉,有了一条的连续空格子,于是我们可以取出a2个颜色为2的点,重复上述过程。(举个

ZJOI2018 D1T2 历史(毕竟我菜,所以题解十分易懂。。)的更多相关文章

  1. 「ZJOI2018」历史(LCT)

    「ZJOI2018」历史(LCT) \(ZJOI\) 也就数据结构可做了-- 题意:给定每个点 \(access\) 次数,使轻重链切换次数最大,带修改. \(30pts:\) 挺好想的.发现切换次数 ...

  2. 「ZJOI2018」历史

    「ZJOI2018」历史 前置知识 \(\text{LCT}\) 维护子树信息,考虑辅助树上一个节点的子树信息只是其代表的这一段链的信息,设 \(S(u)\) 为节点 \(u\) 的子树信息,那么在辅 ...

  3. 题解 「ZJOI2018」历史

    题目传送门 Description 九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 \(n\) 个城市,这 \(n\) 个城市被恰 ...

  4. 【刷题】UOJ #374 【ZJOI2018】历史

    九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 \(n\) 个城市,这 \(n\) 个城市被恰好 \(n-1\) 条双向道路联通, ...

  5. UOJ#374. 【ZJOI2018】历史 贪心,LCT

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ374.html 题解 想出正解有点小激动. 不过因为傻逼错误调到自闭.不如贺题 首先我们考虑如何 $O(n ...

  6. LOJ #2434. 「ZJOI2018」历史(LCT)

    题意 click here 题解 我们首先考虑答案是个什么样的东西, 不难 发现每个点可以单独计算它的贡献. 令每个点 \(i\) 崛起次数为 \(a_i\) . 假设一个点子树的 \(\sum a_ ...

  7. @loj - 2434@ 「ZJOI2018」历史

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的 ...

  8. 「珍贵历史资料鉴赏」CF786B 题解

    写在前面 偶然翻到一篇 2019-08-07 18:58 写的未发布的题解. 给大家找点乐子玩. 正文 知识点:线段树优化建图 线段树优化建图 用于解决 类似 从 x 向区间[L,R]的 区间连边问题 ...

  9. LOJ2434. 「ZJOI2018」历史 [LCT]

    LOJ 思路 第一眼看似乎没有什么思路,试着套个DP上去:设\(dp_x\)表示只考虑\(x\)子树,能得到的最大答案. 合并的时候发现只有\(x\)这个点有可能做出新的贡献,而做出新贡献的时候必然是 ...

随机推荐

  1. jquery添加节点时能有点击事件

    <script>            var n=0;            $(".dj").on('click',function(){              ...

  2. 第六次作业———numpy数据集练习

    1. 安装scipy,numpy,sklearn包 2. 从sklearn包自带的数据集中读出鸢尾花数据集data 3.查看data类型,包含哪些数据 4.取出鸢尾花特征和鸢尾花类别数据,查看其形状及 ...

  3. javascript switch 陷阱

    javascript switch 相等用的是===,就是说不进值相同,类型也要相同 用string的时候,发现无论如何都不满足条件,后来发现是类型不同 string有对象string,还有基本类型s ...

  4. jar包自动化部署---jenkins

    B.Application Server SVN账号:svn://192.168.1.49/svn/keenyoda-trunk/xxxxxcht=xxxxx 安装jenkins:安装目录:/usr/ ...

  5. mysql5.5.25 中文问题 my.ini没有及配置问题 修改默认编码方式

    1.当你向mysql输入中文后,用select查询结果中文变成了问号,那你就往下看. 2.打开cmd,进入mysql,输入show variables like"%char%";可 ...

  6. 【译】PX、EM还是REM媒体查询?

    原文链接:https://zellwk.com/blog/media-query-units/ 你有没有想过使用媒体查询的时候到底该用px.em还是rem作单位呢?我曾经也有同样的疑问,而且我到现在也 ...

  7. webservice和dubbo区别

    webservice  不需要搭建注册中心,是一个服务框架,主要内容有soap协议,uuid注册中心,wsdl文件. dubbo   需要搭建注册中心,可以是zookeeper,redis.它是一个分 ...

  8. PyQt5 -pycharm 环境搭建

    1.安装PyQt5 在CMD窗口执行命令: pip3 install PyQt5 安装 pyqt_toools pip3 install PyQt5-tools 2.配置PyCharm 1)打开PyC ...

  9. <iframe> 标签 中 src 的三种形式. display , echart

    1.形式一: <iframe scrolling="yes" src="action.php?c=HLogin&a=linkPage&p=fx&qu ...

  10. linux之正则

    grep命令: -V      打印grep的版本号 -E      解释PATTERN作为扩展正则表达式,也就相当于使用egrep. -F      解释PATTERN作为固定字符串的列表,由换行符 ...