「考试反思2021-03-27」前往

A.进攻!

有一种容斥:(1 imes 1+2 imes 2-1 imes 2-2 imes 1),直接在矩形里面数出现方式就能证明正确性

考虑如何统计 (1 imes 1) 的小矩形的出现次数,一种暴力是 $Theta(n^4) $ 扫描所有矩形,然后 (O(1)) 差分

考虑每个位置的差分贡献也就是其在矩形四个角中出现的次数,所以可以转化成统计其作为某个角有多少个举行覆盖之

使用单调栈(悬线法)求最大子矩形就行了

字符串

将所有的字符串拍到一个序列上面,同时用 (trie) 树维护其对应的下标

使用莫队离线处理询问,维护 (f(x)) 的值可以在 (trie) 树上开数组

对于满足条件的点,或者恰好不满足条件的点要删掉或者加入,这个使用 (set) 找前驱后继可以维护

在莫队的过程中块长开到 (sqrt{sum s}) 不是很行,貌似看 (2200/4500) 都是能过掉的

然而这并不是标算,标算不需要使用 (set),但是需要回滚,复兴了回滚,但是还不会这题的做法

序列

确实是保序回归题

先简单记录做法:对所有数组里面的值进行整体二分

对于当前阀值 (mid),大于之的权值为 (1) ,反之为 (0)

那么限制的实际含义转化为:作为最小值而且权值为 (1) 的,对应区间也要是 (1)

对应最大值且是 (0) 的,对应区间也是 (0),跑最大权闭合子图

也就是 (S o val[0],val[1] o T),点之间的边是 (infty)

如果最终源点仍然不可达其,那么最优解在右侧区间,反之在左边,那么继续分治

这个题里面需要附加线段树优化建图

正确性正在看论文

原文地址:https://www.cnblogs.com/yspm/p/14603659.html