好题分享1
好题分享1
A. 【ynoi2009】rla1rmdq
做过。
分块。
边权非负,若一个点所处位置已被遍历过,那么这个点在块内无意义,故每个块可均摊 ,总 。
发现散块修改会将原先无意义的点标为有意义的,考虑对块重构即可,单次根号,涉及到求点在树上的 级祖先,重剖即可,分析得不影响复杂度,感性理解往上跳就把这条链删了。
空间的话用 bitset
或离线做到线性空间即可。
总时间复杂度 。
B.【IOI2018】meetings
容易想到找到最大值位置分治 dp
nlog n 建出笛卡尔树。
然后 https://www.cnblogs.com/Khada-Jhin/p/10017454.html 讲得好。
C.【AGC002F】Leftmost Ball
做过。
将白球看作独立的颜色,发现任意时刻白球数量除白球外的球类数。
钦定 1 类球先出现,然后是 2 类球,最后答案乘上 n 的阶乘即可。
考虑转移
当前放白球:
当前放其他颜色的球(k-1个全放上):。
注意这里为什么是选 个插孔,因为我们钦定放一个在当前最左的非白的空位,就能避免重复。
举个例子:如果不钦定的话,
12121 和 21212 在还没乘上 n 的阶乘是就已经都被统计到了,实际上只统计 12121 就行了。
n^2.
留坑。
本文来自博客园,作者:蒟蒻orz,转载请注明原文链接:https://www.cnblogs.com/orzz/p/18121956