CF1264E Beautiful League 题解

CF1264E

你有一张竞赛图,给你竞赛图中 m 条边的方向,让你对于没有给定的边确定方向使得整张图的三元环个数最多

n50,m(n1)n2

  • 费用流好题

  • 三元环是一个非常难考虑的东西,我们考虑求他的补集:不是三元环的个数最少

  • 我们发现不是三元环的情况是存在 (u,x),(u,y) 两条边

  • 因此我们可以得到整张图中不是三元环的计算方法:

  • i=1n(outi2)

  • 其中 outii 点的出度

  • 现在的问题变为:有一个数组 outi,你可以执行 n(n1)2m 次操作,形如从选择 outuoutv 进行 +1 操作,最小化上述式子

  • 如果最终要求的式子形如 outi 的话固然是一个费用流的板子,但是这并不是

  • 我们考虑 +1 后对答案产生的贡献,我们发现 +1 后答案增加了 outi,因此我们有一个连边方案:

  • 如图,我们从超级源点连向 n(n1)2m 个点流量为 1,费用为 0 的边表示操作数量,第 i 个操作对应的点连向 uv 一条流量为 1,费用为 0 的边表示这次操作选择 uv

  • 而最神奇的操作在于从每一个节点连向超级汇点流量为 1,费用为 outin 的边

  • 可以发现,每当某个节点的流量 +1,费用就会增加 outi

  • 最终复杂度 O(n6m),虽然看起来很大,但是这个上界是远远取不到的,可以通过

posted @   FOX_konata  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示