超神的建模,极其有借鉴意义/cy

注:该建模对应于最小割建模

对于 \(n\) 个数,每个数有 \(m\) 种取值的技巧

\(\forall i=1,2,\dots,n\),令 \(S=V_{i,0}\rightarrow V_{i,1}\rightarrow \dots \rightarrow V_{i,m}=T\),也就是形成 \(n\) 条链。

此时,\(i\) 取值 \(j\) 时对应着切断边 \(V_{i,j-1}\rightarrow V_{i,j}\),因此这条边可以附上权值 \(c_{i,j}\)。

注意,这时候我们还要连一条 \(V_{i,j}\rightarrow V_{i,j-1}\) 的边,边权为 \(+\infty\)。理由如下:

我们会发现上面那条链断了 3 条边,由于有其它边的介入,左边跑到 \(T\) 一边了,右边跑到 \(S\) 一边了,这显然不符合我们的期望。

而加上无穷大的边后————

发现 \(S\) 和 \(T\) 连通了,显然与最小割不符。于是可以保证每条链左边属于 \(S\),右边属于 \(T\)。

另外,如果一条链断了 3 条边,则 3 条小链中必有两个同属于 \(S\) 或 \(T\),它们之间的边就没必要断了,与最小性不符。

至此,我们可以保证每条链恰好断一条边,其代价对应于选相应元素的代价,且左边属于 \(S\),右边属于 \(T\)。

处理不同数所选值之间关系的技巧

本题中要求对于数 \(i\) 和 \(j\),会产生 \(|x_i-x_j|\cdot W_{i,j}\) 的代价。

不妨设 \(x_i<x_j\)(反之类似),则代价即为 \(\sum\limits_a [x_i\le a<x_j] W_{i,j}\)。

于是考虑对每个 \(a\) 连一条代价为 \(W_{i,j}\) 的边。

对 \(x_i,x_j\) 进行归并排序,则相邻两个数之间的 \(a\) 可以合并,于是只有 \(O(m)\) 条边。

举一个 \(x_i\le a<x_j\) 的例子:

可以看到图中 \(x_2<y_3\),即 \(x_2\le a<y_3\),此时上面那条链可以切蓝色的边,下面那条链可以切紫色的边,于是此时是从 \(y_2\) 向 \(x_2\) 连一条边,边权为 \(y_3-x_2\)。

注意一下谁往谁连边即可,注意权值差也有可能是 \(x_k-x_{k-1}\),需要取一个 \(\max\)。

最新文章

  1. ASP.NET Core 中间件详解及项目实战
  2. PowerDesigner反向工程PostgreSQL数据库
  3. vs 2005 使用 boost regex
  4. wordpress表结构
  5. [转]iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
  6. 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com,今日更新:多标签功能已实现
  7. What's New in C# 6.0(转)
  8. redhat6 + 11G DG部署
  9. 201521123072《java程序设计》第八周总结
  10. Codeforces Round #540 (Div. 3) A,B,C,D2,E,F1
  11. Hadoop记录-安装ambari hdp集群
  12. Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
  13. 节约内存:Instagram的Redis实践(转)
  14. 使用Ansible实现数据中心自动化运维管理
  15. Git常见使用方法
  16. Vue+Flask看这篇就够了
  17. Ionic Js十五:对话框
  18. Heavy Cargo POJ 2263 (Floyd传递闭包)
  19. ZOJ3084_S-Nim
  20. event.preventDefault(); Please enter your name using lowercase letters only.

热门文章

  1. 干掉RedisHelper,请这样用分布式缓存
  2. ACM 刷题记录
  3. Crontab在服务端进行设置定时执行任务
  4. 000 上传本地库到Github远程库过程全记录
  5. 【实操干货】做好这 16 项优化,你的 Linux 操作系统焕然一新
  6. Kafka 的稳定性
  7. 关于VHDL中case语句多执行语句的书写方式(转载stackoverflow.com并做翻译汇总)
  8. JS:!非
  9. ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
  10. CVPR2022 | 弱监督多标签分类中的损失问题