tg 52

\(T1\)但是挂了
根本打不到人均水平只能无力垫底
别人认为是签到题的\(T2\)也不会
\(T3\&T4\)根本就没分

T1

就是最终局面下所有数的和是一定的
(即不需要多余操作)
所以操作次数是一定的(作差即可)
根据排序不等式,(其实可以考虑交换法就会知道)
操作数尽可能不平均
给变化次数最多的分配最小的权值即可

考虑构造这样一组数列
如果有一个连续段是没有数的
我们可以安排小于值域的任意一个点,
把它的最终的数定成这段值域的一个没有被占用的点
然后根据贪心策略先进后出,自然想到后进先出用栈搞

T2

提一嘴:就是\(mex\)最后插入一个数,
插入前比插入后必然不增

事实上,如果保证任意划分\(mex\)相同,
那么这个全局的\(mex\)就是任意划分出的\(mex\)
证明:
令全局\(mex\)\(x,\)一个局部\(mex\)\(y\)
如果\(y>x\)显然\(x\)就不是\(mex\)
如果\(y<x,y+1\)一定出现过,子区间\(mex\)一定大于\(x\),显然不合法
于是证完了

于是我们只要一个单调指针配合前缀和即可
如果\([l,r]\)的区间\(mex=x,\)那么\(r\)这个位置方案数加上前面所有方案数
否则什么也不干
优化成前缀和形式进一步压缩空间

T3

正手两棵笛卡尔树
反手一个\(Kruskal\)重构

让新树上\(lca_{x,y}\)就是树上\(x\to y\)路径最大值
然后\(x\to y\)合法就相当于是一棵上\(x\)\(y\)祖先,另一棵\(y\)\(x\)祖先
预处理出新树\(DFS\)序,
树状数组统计答案即可

T4

nope

posted @ 2022-09-26 21:03  2K22  阅读(3)  评论(0)    收藏  举报