首页 > 其他分享 >记录一种独特的特殊网络流处理方式

记录一种独特的特殊网络流处理方式

时间:2023-01-11 23:00:10浏览次数:37  
标签:容量 记录 sum 网络 物品 边数 独特 属性

考虑如下抽象而来的问题:
你有若干物品,每个物品都有两种属性。现在你想把他们分成若干组,使得每组内物品至少某种属性都相同,使得 \(\sum_i S_i^2\) 组大小平方和最大。

利用费用流解决是 easy 的,但实际上有非常独特的最大权闭合子图做法。

先给出建图方案:不妨记属性为 \(a_i,b_i\) ,考虑把它们用两个桶记录下来 \(A_v,B_v\) ,源点向 \(i\) 号节点连容量为 \(A_{a_i}\) 的边,\(i\) 号节点向汇点连容量为 \(B_{b_i}\) 的边,同时,对于两种属性,相同的两个点 \((i,j)\) 连容量为 \(1\) 的双向边(完全相同连两条)。

相对自然地,我们可以将超理想状态—— \(\sum_i A_i^2+\sum_i B_i^2\) 设为初态,同时连好上述方案的前半部分。然而事与愿违,我们必须决定一个点用哪个属性。之前我们解决大部分非线性贡献/代价的问题时更多地关注到了网络流的贪心本质,然而在这里我们却依赖于一个非常优美的模型:团。首先它在任何一个状态时都表现地很好——点分成两部分时两边之间的边数是 \(|S|(n-|S|)\) ,即使是用网络流的视角来观察它也很优美,因为在只保留一边的贡献 \(\sum_{i\in S} A_{a_i}\) 或 \(\sum_{i\in S} B_{b_i}\) 时,再减去两边之间的边数就是答案。由此可见,这种拓扑模型完美地契合了我们需要的代数式。

Life is short...

标签:容量,记录,sum,网络,物品,边数,独特,属性
From: https://www.cnblogs.com/gooder-tmi/p/17045145.html

相关文章

  • 学习记录-适配器模式
    适配器模式适配器模式(AdapterPattern)是作为两个不兼容的接口之间的桥梁,它不会改变原先的接口。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式......
  • 计算机网络第二天( p3)
    视频因特网的组成边缘部分C/SP2P一个计算机即是客户机又是服务器,可以从多个源下载同一个文件。核心部分电路交换电路交换适合于数据量很大的实时性传......
  • 学习记录-装饰器模式
    装饰器模式装饰器模式(DecoratorPattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式......
  • 玩转Vben Admin第1改:API接口网络配置
    1:首先下载代码并安装配置gitclonehttps://github.com/vbenjs/vue-vben-admin.gitcdvue-vben-adminnpmi-gpnpmpnpmi 2:编辑/vite.config.ts 的第56行,找到ht......
  • 网络流 24 题做题记录
    网络流24题做题记录P3254圆桌问题源点连单位,容量为单位人数,桌子连汇点,容量为桌子容量,各单位连各桌子,容量为\(1\),因为每个单位在每张桌子上最多\(1\)人,跑最大流。P......
  • linux一次安装chromedrive记录
    先查看已安装的chrome版本[root@iZ8vbeixmmd1ntxae9oe19Z~]#google-chrome--versionGoogleChrome109.0.5414.74[root@iZ8vbeixmmd1ntxae9oe19Z~]#没有安装需......
  • linux网络管理
    网络管理一、网络简介网络:简单来说就是通过网络介质把各种设备连接起来形成的结构网络介质:网线:cat5cat5e六类网线七类网线光纤wifi:无线路由器,ap节点网速......
  • Centos7最小安装之网络配置
    1.获取权限命令行先进入​​su​​​(不进的话,每次输密码很烦2.查看网卡信息输入命令 ​​ls/etc/sysconfig/network-scripts​​可以看到有线网卡名称为​​ifcfg-enp3s0......
  • 1月11日内容总结——网络不通排查流程、重要目录讲解、系统优化和环境变量、上传与下
    目录一、⽹络不通排查流程二、etc⽬录下重要的数据⽂件三、usr⽬录下重要的数据⽂件四、var⽬录下重要的数据⽂件五、proc⽬录重要的数据⽂件六、系统优化相关七、环境变量......
  • cmake常用函数记录
    由于cmake我一般是项目移植的时候,才会涉及到,一些常用函数隔一段时间就会忘记,所以在此做一下笔记,以便日后查看。1、添加链接库所在的目录: link_directories("./libs")......