最近打比赛不知道为什么总是怀疑自己
写完之后不敢交,一定跟学长说一遍自己的思路
然后发现"哦原来我是对的"
然后就A掉了……
所以还是要有自信
Problem A
最大值直接输出m,最小值二分答案就可以了 。
Problem B
Problem C
简单的模拟题,按照题意走下一步。
开个数组标记一下,如果之前走到过这步那么循环。
Problem D
Problem E
Problem F
Problem G
首先有个结论:每次把一个序列拆成两段,小的那段的规模加起来级别是nlogn的。
那么每次假设我们知道了$[L, R]$的逆序对个数,现在要把他拆成$[L, x - 1], [x + 1, R]$,
那么枚举小的那段的每个数,求出另一段有几个数大于或小于他。
同时求出小的那段的逆序对数。
那么这样就可以求出两段各自的逆序对数,套个堆就可以了。
Problem H
Problem I
Problem J
Problem K