CF538H Summer Dichotomy 题解

自己做的 \ ^ w ^ /。

对于 m 个限制,我们得到了一个图,若不是二分图则无解,否则对于每个连通块有 [l1,r1],[l2,r2] 的限制,表示对于两组的人数限制(注意此处 1,2 并不代表组 12)。

不妨令 n1n2,(r1>r2orr1==r2andl1<l2),则对于 l1l2,必定是 [l1,r1] 限制 n1[l2,r2] 限制 n2

对于 l1<l2,两者是包含关系,可能是以下两种之一:

  1. n1[l1,r1],n2[l2,r2]
  2. n1[l2,r2],n2[l1,r1]

因为 n1n2 所以:

  1. n1[l2,r1],n2[l2,r2]
  2. n1[l2,r2],n2[l1,l2)

在二维平面上考虑限制,对于区间 1 与区间 2 不包含的是一个矩形,对于包含的是一个矩形挖掉右下角。

可以先求矩形的交,再挖掉右下角。

对于 tn1+n2T,是两条 y=x+b 的斜线,若矩形内有在两者中的,矩形的左/上边界必有其中的,而挖掉右下角对左/上边界影响最小,对于挖掉的维护矩形的左/上边界即可。

时间复杂度 O(n)

二分图染色的内容实现的不是很好。

code

posted @   SkyMaths  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示