ARC142E Pairing Wizards

给出一张图,n 个点,每个点有属性 ai,bi,对于每条边 (x,y) 需要满足以下条件任意一条:

  • axbx,ayby
  • axby,aybx

每次可以花费 1 的代价将 aiai+1,求最少满足条件的代价。

n100,ai,bi100


图论/网络流

血亏啊!当时觉得 E 应该题面简单然后可做,然后想着想着去想 D 去了,看完题解发现自己当初已经开始考虑网络流建图了,同时发现了第一步转化了!(但是没有发掘这个转化的性质)

第一步转化,最好想,但是性质无穷:令 mnx=max(x,y)E{min{bx,by}},首先让 aimni(如果不够)。

这个时候就会有比较优秀的性质了:我们记 X 表示所有 bx>ax 的集合,Y={1n}/X,那么一条边,至少有一个点在 Y 集合中。

也就是说,如果一条边 (x,y) 不满足条件,假设 xX,我们让它合法的条件就是要么使得 axbx,要么使得 aybx

因为 n,ai 比较小,考虑网络流建图:

  • iX,(S,i,biai)
  • iY,j[1,100],((i,j),T,1)
  • iY,j[2,100],((i,j),(i,j1),)
  • (x,y)E,xX,yY,(x,(y,bxay),)(如果 bx>ay

其中 (i,j) 表示一类特殊的点(100n 个点)。

通过这样建图,我们就可以让 x 点满足条件或者让 y 点满足条件并且付出相应的代价。

代码

posted @   Werner_Yin  阅读(109)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示