Contest 1435

A

(x imes-y+y imes x=0),因为 (n) 是偶数,所以两两这样构造即可。

时间复杂度 (Oleft(Tn ight))

B

有点绕的题,要理清思路。

发现行和列其实都是完整的,只是要搞出顺序。

通过列记录每个数字所属的行,然后枚举每行的任意一个数字找出它是第几行,就还原好了。

时间复杂度 (Oleft(sum nm ight))

C

鸽了。

D

把依次进货的手里剑塞进一个链表里,初始价格均设置为 (0)

每次向前找到还未买过的第一把手里剑 (i),从这把手里剑开始,到当前最后进货的这把手里剑之间的手里剑价格的最大值必须小于 (x),不然那个最大值肯定可以搞成 (x)

如果合法就把手里剑 (i) 的价格修改成 (x)

用线段树维护区间 (max) 即可,时间复杂度 (Oleft(nlog n ight))

PS:虽然把任意一把还未买过的手里剑的价格修改成 (oldsymbol x) 都可行,但这样方便判断合法。

举个例子,先进货三把手里剑。

然后三个忍者来购买,花费依次为 (b,a,c)(a<b<c)

如果手里剑的价格依次为 (c,a,b) 就方便判断合法。

如果手里剑的价格依次为 (a,c,b) 就不方便判断合法。

但要注意的是,不管怎么样修改,合法的总还是合法的。

E

鸽了。

原文地址:https://www.cnblogs.com/May-2nd/p/13922647.html