考场:(100 + 100 + 40 = 240)
T1:
想到一种很神奇的方法,看上去时间复杂度是(O(n^4))的,实际是(O(玄))
正解是枚举矩阵的上下边界,然后对于每一列都搞出个最小值,最后再用单调栈来扫两遍求出每个点左边第一个比他小的和右边第一个比他小的,然后可以统计答案了。
时间复杂度为(O(n^3))。
T2:
对于每个事件分开来考虑。
如果这个事件与某些大臣不符,则这些大臣的另一个事件则一定要符合,这样我们可以不停地递归,如果发现矛盾则不可以,否则可以。
而对于第(i)个事件,如果同意也可,不同意也可,那就是(?)了。
这就是典型的2-SAT问题。
T3:
剩30分钟,乱搞暴力。
正解其实还算容易的。
我们先理解一下(f1[]),(f2[])的意义。
待续。