Week4测试题解

传送门

GHIK的题解

吐槽一句,我是罚时巨怪无疑了,noip可不会给你罚时的机会啊!!!

提高准确度,力求一遍写对!!!

E


double 会爆精度,可以用 hash(其实就是为了不爆 longlong 而加模数罢了)

F


可以三分套三分的题都是单谷函数。据说可以模拟退火,而我并不会那个。。

G


题目看错了。。。n^2 做即可

H


随着行的数增大,每个数的位数也会增大,但至多 log 次。因此行的位数总变化次数为 O(n log10^9),因此可以求出每一行的位数,这个大概二分什么的皆可吧。

然后对于询问,二分行,二分列,再用主席树或者离线树状数组维护一下吧,我也不会,咕咕。

I


没看懂,咕咕

J


考虑最终棋盘每行每列不会超过 1 个棋子,且所有留到最后的棋子都是在初始位置上

想到二分图匹配。最多留下来,是平面最大独立集问题,行列建点连边,跑二分图最大匹配。

那么最少留下来呢?并查集,将所有能互相吃的棋子连一条边,答案就是连通块数。

K


二维 FFT,告辞,咕咕