BZOJ5212 ZJOI2018历史(LCT)】的更多相关文章

首先相当于最大化access的轻重边交换次数. 考虑每个点作为战场(而不是每个点所代表的国家与其他国家交战)对答案的贡献,显然每次产生贡献都是该点的子树内(包括自身)此次access的点与上次access的点在该点不同儿子的子树内.假设得到了最后的崛起序列,可以发现相互不包含的子树的贡献是相互独立的,只是内部交换而不交换他们的相对顺序,对答案没有任何影响. 那么现在只需要考虑最大化某点的贡献,显然应该让不同儿子的子树内的点尽量交替access.设各点子树的Σai为si,那么当不存在2sson>s…
传送门 题意:在$N$个点的$LCT$中,最开始每条边的虚实不定,给出每一个点的$access$次数,求一种$access$方案使得每条边的虚实变换次数之和最大,需要支持动态增加某个点的$access$次数.$N \leq 4 \times 10^5$ ZJOI2018真的都是大火题 首先一个小小的转化:对于每个非叶子节点,新开一个叶子节点,将当前非叶子节点的$access$次数转移到这些叶子节点上,这样所有的$access$操作都在叶子节点进行,可以少很多的判断. 接着我们需要考虑在每一个点上…
\(\color{#0066ff}{ 题目描述 }\) 这个世界有 n 个城市,这 n 个城市被恰好 \(n-1\) 条双向道路联通,即任意两个城市都可以 互相到达.同时城市 1 坐落在世界的中心,占领了这个城市就称霸了这个世界. 在最开始,这 n 个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛 起形成国家并夺取世界的霸权.为了方便,我们标记第 i 个城市崛起产生的国家为第 i 个国家. 在第 i 个城市崛起的过程中,第 i 个国家会取得城市 i 到城市 1 路径上所有城市的控…
传送门(洛谷) 人生第一道九条可怜……神仙操作…… 看着题解理解了一个早上才勉强看懂怎么回事…… 简化一下题目就是:已知每一个点access的总次数,求一个顺序使虚实边转化的次数最多 考虑一下,对于x的一个子树,如果他已经有了一个最优序列,那么一定不会和他祖先的最优序列产生冲突.为什么呢?因为对他的所有祖先来说,只要是来自他的子树的access都会对他到根的路径产生贡献,所以对他的祖先来说,无论access的是子树的哪一个节点都是等价的,于是我们可以在祖先的最优序列中将所有x的子树的access…
[BZOJ5212][ZJOI2018]历史(Link-Cut Tree) 题面 洛谷 BZOJ 题解 显然实际上就是给定了一棵树和每个点被\(access\)的次数,求解轻重链切换的最大次数. 先考虑不带修改的答案. 如果直接考虑全局的答案会很麻烦. 考虑每一个在每一个点处被切换的次数. 显然这个子树之和其子树内的点的\(access\)次数相关,和子树外的点无关. 而在这个点处被切换只有它的子树中不在同一棵子树内的两个点先后进行\(access\). 对于一个点统计其不同子树内的\(acce…
[ZJOI2018]历史 最大化access轻重链的切换次数 考虑一个点的贡献,即它交换重儿子的次数 发现这个次数只和它自己ai以及每个儿子的子树次数和有关. 一个关键的事实是: 我们可以自上而下进行贪心! 我们最大化fa的贡献,发现,对于操作序列,一个儿子子树的操作是一个子序列,不影响这个儿子子树的贡献! (内部可以任意交换) 等价于:有m=|son|+1种颜色,每种颜色有若干个 排成一列,最大化相邻不相同颜色的次数 设颜色最多的是h,总和为t 则次数=min(t-1,2*(t-h)) 证明的…
点此看题面 大致题意: 给定一棵树每个节点\(Access\)的次数,求最大虚实链切换次数,带修改. 什么是\(Access\)? 推荐你先去学一学\(LCT\)吧. 初始化(不带修改的做法) 首先考虑初始化,即不带修改的做法,貌似这样就有30分了. 先要注意到一点:我们可以发现,对于每一个节点,它的答案是独立的,且只受其子树内的节点影响. 这么一说,应该就不难想到树形\(DP\)了吧. 如果有两个相邻\(Access\)操作,显然当且仅当这两次\(Access\)来自于当前节点的两个不同子节点…
这篇还发了洛谷题解 [Luogu4338] [BZOJ5212] 题解 题意 给出一棵树,给定每一个点的 \(access\) 次数,计算轻重链切换次数的最大值,带修改. 先考虑不带修改怎么做 假设 \(u\) 的子树发生了两次 \(access\) , 那么当且仅当这两次 \(access\) 的点来自 \(u\) 的两个不同的儿子的子树 , 答案才会 \(+1\) 要使得答案最大 , 就是尽量让所有相邻发生的 \(access\) 都来自不同子树 把同类型的数挪到一边就是当 \(2\time…
洛谷题目传送门 ZJOI的考场上最弱外省选手T2 10分成功滚粗...... 首先要想到30分的结论 说实话Day1前几天刚刚刚掉了SDOI2017的树点涂色,考场上也想到了这一点 想到了又有什么用?反正想不到最大的贡献是怎么推出来的 然后晚上心中怀着九条CNM看完了Solution.pdf 貌似对我这个蒟蒻来说也只有这一题可做了...... 已知书上每个点access的总次数,构造出一个顺序,最大化虚实边的切换总次数 其实如果能发现最优顺序的构造是没有后效性的话,问题便可以进一步简化 考虑每个…
LOJ 思路 第一眼看似乎没有什么思路,试着套个DP上去:设\(dp_x\)表示只考虑\(x\)子树,能得到的最大答案. 合并的时候发现只有\(x\)这个点有可能做出新的贡献,而做出新贡献的时候必然是两个来自不同子树的国家发生战争. 于是做法突然就明朗了起来:对于每个点\(x\),记\(s\)表示子树内的崛起次数.\(p\)表示最大子树的崛起次数(也有可能是\(x\)自己),那么它对答案的贡献就是 \[ \min(s-1,2(s-p)) \] 为什么?其实就是用其他子树消耗最大子树的一个过程.…
Description 九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有n个城市,这n个城市被恰好n?1条双向道路联通,即任意两个城市都可以互相到达.同时城市1坐落在世 界的中心,占领了这个城市就称霸了这个世界. 在最开始,这n个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛起形成国家并夺取世界的 霸权.为了方便,我们标记第i个城市崛起产生的国家为第i个国家.在第i个城市崛起的过程中,第i个国家会取得 城市i到城…
考完了,终于有时间来写游记了. 有一种悲伤,叫做知道正解是什么但是就是不会写... 有一种遗憾,叫做能拿到的分考完才意识到... 有一种$NOIP$,叫做$Day1$原题大赛,$Day2AHOI$... 不扯了,开始游记: $Day\quad -1$: $JL$请的假还是蛮有用的,至少逃过了期中考试... 今天据说是水题信心赛...但是感觉JL又是在骗我们... 然后...我竟然$290$??? 嗯?$std$只有$280$??? $ZSZ,LYC$日常$AK$... 下午就随便搞两道$DP$做…
为了优化体验(其实是强迫症),蒟蒻把总结拆成了两篇,方便不同学习阶段的Dalao们切换. LCT总结--概念篇戳这里 题单 灰常感谢XZY巨佬提供的强力资磁!(可参考XZY巨佬的博客总结) 题单对于系统地学习一个知识点还是有好处的. 所以蒟蒻搜集了各处的LCT题目(其实作为近年新兴的知识点,现有的好题不是很多,有些题树剖也可做) 大概按细化分类进行整理(类比下面的几个细化知识点,会有重复的列举) 同一类中的题目也大概按难度递增吧(太弱了,对每个题的难度定位或许有不准的地方,欢迎讨论!) 维护链信…
一些瓜皮 放几个比较优(she)秀(pi)的\(LCT\)题. 老惯例,每一题代码因为一些未知原因消失了(如果要的话私我好了,虽然会咕咕咕). 嘴巴\(AC\)真香! [SP16580] QTREE7 对黑色.白色各开一棵有根\(LCT\). 若\(x\)点加入颜色\(c\)集合,则在\(c\)的那颗\(LCT\)上连接\((x,fa_x)\),在另一棵上断掉父亲边. 查询时,首先判断根结点是否在当前颜色集合内. 如果在的话直接查整棵\(LCT\). 否则走向右儿子,查询对应子树. 什么子树最大…
模板题P3690 基础题P3203[HNOI2010]弹飞绵羊 \(access\)是搞出一条端点为\(x,y\)的路径 , 且维护的是实子树的信息 . 由于题目比较简单 , \(access\)时还不需要更改其它信息 [NOI2014]魔法森林 每条边有两个权值\(x_i,y_i\) , 在图上求一条 1 到 n 的路径 , 使得\(max\{x_i\}+max\{y_i\}\)最小 . 以\(y\)这一维排序依次加边 , 用\(LCT\)维护一条路径上\(x\)这一维的最大值 . 如果形成环…
本篇博客的题单转载自FlashHu大佬的博客:LCT总结--应用篇(附题单)(LCT). 关于\(LCT\)可以查看这篇博客:\(LCT\)入门. 这里面有些题解的链接是空链接,尚未补全. 维护链信息 [已\(AC\)][洛谷3690][模板]Link Cut Tree(\(LCT\)入门) [已\(AC\)][洛谷3203][HNOI2010] 弹飞绵羊(分块题解) [已\(AC\)][洛谷1501][国家集训队] Tree II(题解) [已\(AC\)][洛谷2486][SDOI2011]…
\(LCT\)维护子树信息学习笔记 昨天\(FDF\)好题分享投了 \([ZJOI2018]\)历史 这题. 然后我顺势学学这个姿势. 结果调了一年...于是写个笔记记录一下. 基本原理 比较显然地,虽然父子关系在不断变化,但是重链与重链之间的连接是不变的.换句话说,一个点的某个虚儿子也许并不是他在原树中的某个儿子,但是这个点总和上来的信息是这整棵子树的. 所以我们定义这个点总和的信息(记为\(siz\))为总和该子树的所有信息, 然后记\(fsz\)为虚儿子的总和信息,\(val\)为单点信息…
LCT题单(自己的做题情况反馈)(转自Flash) 随时进Flash Hu的LCT看一发 也可以看一下我自己的风格的板子 开始 维护链信息(LCT上的平衡树操作) [X] 洛谷P3690 [模板]Link Cut Tree https://www.luogu.org/problemnew/show/P3690 [ ] 洛谷SP913 QTREE2 - Query on a tree II https://www.luogu.org/problemnew/show/SP913 [X] 洛谷P320…
这是一份 \(\rm LCT\) 入门总结. 关于 \(\rm LCT\) 的复杂度这里不会提及,只会记录 \(\rm LCT\) 的基本操作和经典例题,但神奇的 \(\rm LCT\) 虽然常数巨大但还是 \(O(n \log n)\) 的优秀复杂度. UPD on 2021.7.1 : 复杂度证明可以参考 这里 \(\rm Link-Cut-Tree\) 又名动态树,顾名思义他能支持动态维护树的形态即支持加边删边,那么这样一个神仙数据结构是怎样工作呢? 首先类似于树剖的思想,我们将原树剖分成…
Preface 菜鸡HL终于狗来了他的省选停课,这次的时间很长,暂定停到一试结束,不过有机会二试的话还是可以搞到4月了 这段时间的学习就变得量大而且杂了,一般以刷薄弱的知识点和补一些新的奇怪技巧为主. 偶尔也会打一些比赛找找手感(比如HHHOJ的比赛,Luogu比赛,以及comet OJ上之前的CCPC题) CF和CC看情况,主要是我真的不太喜欢读英文题的恐怖感觉233 希望这段时间的努力可以让我不跪省选吧 2-26 早上晨跑完了就和杨浩讲了停课的事,不出意外地很轻松就通过了. 然后回班拿了点东…
题意 给出一个长度为 \(n\) 的序列 \(\{a_i\}\) , 现在会进行 \(m\) 次操作 , 每次操作会修改某个 \(a_i\) 的值 , 在每次操作完后你需要判断是否存在一个位置 \(i\), 满足 \(\displaystyle a_i = \sum_{j=1}^{i - 1}a_j\) 并求任意一个 \(i\) . \(n, m ≤ {10}^5 , 0 ≤ a_i ≤ {10}^9\) 题解 考虑一个暴力,不妨首先从 \(i = 1\) 开始判断是否合法,由于 \(a_i\)…
突然意识到有一些题目的计划,才可以减少大量查水表或者找题目的时间. 所以我决定这样子处理. 按照这个链接慢慢做. 当然不可能只做省选题了. 需要适时候夹杂一些其他的题目. 比如\(agc/arc/cf\)的题目,以及\(loj\)上的一些省的集训题目,还有\(uoj\)的各种\(round\)的题目. 大块大块的做题记录就在这里记录一下,省选后再来看结果,至少努力过就不曾后悔了不是吗? 首先先是省选题的记录,然后有比赛的记录,做到每周至少完成一整场\(CF\)或者\(AtCoder\)比赛的题解…
「ZJOI2018」历史(LCT) \(ZJOI\) 也就数据结构可做了-- 题意:给定每个点 \(access\) 次数,使轻重链切换次数最大,带修改. \(30pts:\) 挺好想的.发现切换次数只跟子树中所有结点的 \(access\) 次数,可以树形 \(dp\).假设 \(x\) 有 \(m\) 个儿子,每个儿子的 \(access\) 次数为 \(A_i\),自己为 \(A_0\),问题转换成有 \(m+1\) 种颜色,问怎么使颜色不同的间隔最多.使 \(sum=\sum_{i=0}…
原文链接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\) :显然是这…
「ZJOI2018」历史 前置知识 \(\text{LCT}\) 维护子树信息,考虑辅助树上一个节点的子树信息只是其代表的这一段链的信息,设 \(S(u)\) 为节点 \(u\) 的子树信息,那么在辅助树上我们维护的是: \[ S(u)=S(lson)+S(rson)+val(u) \] 考虑它们的实际意义 \(lson\) 是 \(u\) 的父亲,\(rson\) 是 \(u\) 的重儿子,显然 \(S(lson)\) 是我们不需要的,而真正的辅助信息只算了节点本身和重儿子. 考虑按照这样算的…
九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 \(n\) 个城市,这 \(n\) 个城市被恰好 \(n-1\) 条双向道路联通,即任意两个城市都可以互相到达.同时城市 \(1\) 坐落在世界的中心,占领了这个城市就称霸了这个世界. 在最开始,这 \(n\) 个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛起形成国家并夺取世界的霸权.为了方便,我们标记第 \(i\) 个城市崛起产生的国家为第 \(i\) 个国家…
历史 题目描述 九条可怜是一个热爱阅读的女孩子. 这个世界有 $n$ 个城市,这 $n$ 个城市被恰好 $n-1$ 条双向道路联通,即任意两个城市都可以互相到达.同时城市 $1$ 坐落在世界的中心,占领了这个城市就称霸了这个世界. 在最开始,这 $n$ 个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛起形成国家并夺取世界的霸权.为了方便,我们标记第 $i$ 个城市崛起产生的国家为第 $i$ 个国家. 在第 $i$ 个城市崛起的过程中,第 $i$ 个国家会取得城市 $i$ 到城市…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 n 个城市,这 n 个城市被恰好 n-1 条双向道路联通,即任意两个城市都可以互相到达.同时城市 1 坐落在世界的中心,占领了这个城市就称霸了这个世界. 在最开始,这 n 个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛起形成国家…
题目传送门 Description 九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 \(n\) 个城市,这 \(n\) 个城市被恰好 \(n − 1\) 条双向道路联通,即任意两个城市都可以互相到达.同时城市 \(1\) 坐落在世界的中心,占领了这个城市就称霸了这个世界. 在最开始,这 \(n\) 个城市都不在任何国家的控制之下,但是随着社会的发展,一些城市会崛起形成国家并夺取世界的霸权.为了方便,我们标记第 \(i\) 个城…