二分图两题-洛谷P1155 双栈排序&bzoj3693圆桌会议

传送门:
luogu1155
bzoj3693


luogu1155

我真傻,真的 。。。

( i , j ) (i,j) (i,j)不能压入同一个栈当且仅当存在 k k k,满足 i < j < k i<j<k i<j<k a k < a i < a j a_k<a_i<a_j ak<ai<aj

然后二分图染色+模拟判即可。。。


bzoj3693

Hall定理:
对于任意几组它们的区间的集合的大小必须要 ≥ \geq 这几组人数的总和。

破环为链
若某几组的区间不相交且不合法,那么它们本身必然存在不合法的情况。
所以问题转成对于连续的一段 [ L − R ] [L-R] [LR] R − L + 1 R-L+1 RL+1是否大于所有 [ l i , r i ] [l_i,r_i] [li,ri] [ L , R ] [L,R] [L,R]内的 a i a_i ai之和。

∑ a i ≤ R − L + 1 → ∑ a i + L − 1 ≤ R \sum a_i\leq R-L+1\to \sum a_i+L-1\leq R aiRL+1ai+L1R

将组按端点排序后线段树维护即可。

你可能感兴趣的:(二分图匹配)