省选模拟24

A. U.N.OWEN就是她吗?

题意:n堆石子,第i堆有\(a_i\)个,给出m个指令\(l_i,r_i,k_i\)\([l_i,r_i]\)中最多选出\(k_i\)个(不够清零[l,r]),设第i个指令的答案为\(p_i\),求最大p的字典序。n,m<=1e5
暴力想到了二分图匹配,觉得拆点很蠢但又想不到其他做法所以去肝了水很深的T2...
正解是拆点+Hall定理的推论。
Hall定理:一个二分图|X|-|Y|存在完美匹配的条件是\(\forall S\subseteq X,S->T,|S|<=|T|\)
推广到区间上也同样成立,证明网上有,这样我们只要对所有区间判断。
由于题中给出的不包含性质,排序后L R同时递增,设A为石子去掉没有被覆盖部分后的前缀和,B为询问的前缀和
\(\forall i<j,A_{R_j}-A_{{L_i}-1}\geq B_j-B_{i-1}\)
\(\forall i<j,B_{i-1}-A_{{L_i}-1}\geq B_j-A_{R_j}\)
\(C_i=B_j-A_{R_j},D_i=B_{i-1}-A_{{L_i}-1}\)
\(C_j\leq D_i\)
由于限制,一次能拿的最大值为\(min(C_j-D_i,K_i)\),线段树维护支持区间加的C的最大值D的最小值即可。

C. 平安时代的外星人

题意:nm的黑白染色矩阵,矩阵上的(n+1)(m+1)条线段有权值,求包围所有黑格的最小环。n,m<=400
原题,当时没人改,gls讲的很好觉得还可做,于是先去改的T3(虽然写起来还是挺自闭的)。
结论:(1,1)到每个黑格左上角的最短路一定在环内
证明:如果环切开了最短路,那么把环上一部分换到最短路上一定不会变差。
然后这其实也是个限制,如果满足了这个限制的从(1,1)出发的不经过黑格的环一定能够包围所有黑格。
上边这东西就是棵最短路树,记录前驱从根跑dij,好像卡spfa...
问题在于如何求环,可以重合不会处理,然而两次经过的方向不同,拆成两条单向边,边权为输入。
为了表示不能经过最短路树边,对于矩阵上的交点拆成四个,连边表示可以跨过矩阵格子边界,边权为0。复杂度\(O{nmlog(nm)}\)
然后就没啥了,写的很飘,还重构了。。。

posted @ 2020-02-14 22:08  hzoi_yzh  阅读(119)  评论(0编辑  收藏  举报