2018 多校联合训练 2

Problem A

Problem B

Problem C

比赛的时候想了好久

每个联通块单独处理,把奇点全部拿出来。奇点个数肯定是偶数。

假设奇点个数为cnt,用cnt/2条边各自连接两个奇点,那么所有的点都变成了偶点。

然后跑一遍欧拉回路就行了。

最后把那些新加的边断开然后输出就可以了。

Problem D

因为我可以自己选择当先手还是后手,所以我肯定赢

Problem E

比赛的时候灵光一现,大概是分成$47*47$块然后每块放$47$个。

有些$1$会被放到外面所以不能被记录进去。

最后跑出来刚刚比$85000$个多一点。

Problem F

我tm自己出的校赛放到多校降低一维复杂度我就不会做了……

Problem G

维护一个数列表示每个元素距离减到$0$还要几步。

当一个数变成$0$的时候他就变成了$b_{i}$

因为$b$是一个排列所以从$0$飞到$b_{i}$的次数不会超过$nlogn$

然后开个线段树高最小值,开个树状数组记录答案,就好了。

Problem H

Problem I

Problem J

逆序对个数 $* min(x, y)$

猜你喜欢

转载自www.cnblogs.com/cxhscst2/p/9369106.html