将每个值单独拿出来判断
由于\(a_i\ge 1\),可以将所有的\(a_i(i\ge 2)\)移到\(1\)
比赛时没看到这个东西,乱搞了八发才过
大概就是每次贪心把能移走的最大值移走,不知道正确性?
从小到大处理前\(i\)位,相同的一起处理,比赛时代码每次重新去重了\(O(nlognlogV)\),交了几发才过去
放到trie处理可以省掉去重的\(logn\)
启发式分裂可做到\(O(nlog^2n+qlogn)\)
官方题解给出了一个log的做法
克鲁斯卡重构树,这样可以把连通块转换到序列做
待更
Codeforces Round #673 (Div. 1)
原文:https://www.cnblogs.com/Grice/p/13743100.html