「EZEC-9」Div.2

属实毒瘤。

T1


考虑交换k次之后什么状态。构造一个序列满足交换k次后一定只能处于这样的状态即可。
即 n 1 2 ... m n-1 n-2 ... m+1 即可。
交换肯定只会交换前m+1个数。

T2


二合一的题

第一个问,任意顺序模拟即可。进位次数一定相同。

第二个问,可以把原数的1也看做一些add操作。从低位到高位递推判断低位尽量进位的时候当前位能否进位即可。可以证明一定存在这样的操作方式。

T3


emm

我们把点的编号看作点权
首先可以考虑到如果x是y的祖宗,一定有x=ty。
这是一个充要条件,也就是一个数x的所有祖宗都能整除x。
这些祖宗之间也同样会存在倍数关系。
因此如果能满足条件,那么x的父亲一定是题目中出现过的它最大的因数。否则不合法或无解。

然而这并不是最难的地方


再来判无解。
考虑无解时一定存在一对数(x,y)不满足条件,但他们的祖先之间都满足条件。而这对数之后的都不会再满足条件了。

假设有一对祖先为\((rx,ry)\),则 \(gcd(rx,ry)=lca_{x,y}\),且 \(gcd(fa_{rx},fa_{ry})=lca_{x,y}\)

假设\(rx=afa_{rx},ry=bfa_{ry}\)

我们必然有\(\gcd(a,b)=1\),否则上述柿子不成立。

于是我们有一种解法:枚举每一个质数\(p\),判断有\(p\)这个因子的a是否在一条链上。

记录下a中有p这个因子的最深结点,从它一直跳到根即可。

因为树高是log级别的。

T4


贪心题。
先考虑k=0。可以发现一定是靠近恒卷人的一段都卷,靠近恒颓人的某一段都颓。而这个分界线一定是暂卷人。于是找到每一个恒卷和恒颓人之间最靠近恒颓人的那个暂卷人即可。

再考虑只有两个恒人的情况。此时只要有暂卷人,直接交换到最右边即可。否则只有恒卷人卷(太惨了)

最后。我们可以得到贪心做法。
如果某一段有2个暂卷人,那靠近恒卷人的那一个暂卷人对答案没有贡献,优先使用对原始答案没有贡献的暂卷人交换。贪心交换即可。这相当于是改暂颓为暂卷(觉悟了)

如果还有交换次数,优先选择贡献答案小的进行交换,开几个堆即可实现。

posted @ 2021-09-07 15:39  lei_yu  阅读(61)  评论(0编辑  收藏  举报