当前位置: 首页 > news >正文

非离散网络流——P3347 [ZJOI2015] 醉熏熏的幻想乡

非离散网络流——P3347 [ZJOI2015] 醉熏熏的幻想乡

观察费用为 \(a_ix^2+b_ix\),如果是离散的,则可以套路的建边 \(a_i+b_i,3a_i+b_i,5a_i+b_i,\dots\),可本题 \(x\in R\)

于是连续意义下我们应该求导得到 \(2a_ix+b_i\),称作瞬时费用。根据网络流的贪心决策,每次一定是选择瞬时肥费用最小的,于是当我们决定当前瞬时费用为 \(\lambda\) 时,每条边的流量就可以确定。建立流量关于瞬时费用的函数 \(y=f(\lambda)\)。则函数与 \(y\) 轴围成的面积就是答案。

总流量为各边流量相加。设一条边的流量关于 \(\lambda\) 的函数为 \(g(\lambda)\)

\(a_i\ne 0\) 时,边在 \(\lambda\) 下的容量为 \(L_i=\max(0,\min(c_i,\frac{\lambda-b_i}{2a_i}))\),而可以发现 \(g(\lambda)\) 有三种情况:

  • 满流并且 \(L_i=\frac{\lambda-b_i}{2a-i}\),则 \(g(\lambda)=\frac{\lambda-b_i}{2a-i}\)
  • 满流并且 \(L_i=0\)\(L_i=c_i\),则 \(g(\lambda)=0\)\(g(\lambda)=c_i\)
  • 没有满流,此时就算 \(\lambda\) 增加 \(\epsilon\),流量也不会增加,因为限制流量的不是 \(L_i\) 而是右部点。

\(a_i=0\) 时,\(L_i=\begin{cases}c_i&\lambda>=b_i\\0&\lambda<b_i\end{cases}\),会有突变。

因为 \(f(\lambda)=\sum g(\lambda)\) 不难发现 \(f(\lambda)\) 是许多折线,算出所有折线即可积分。进而只需要算出折点的横坐标。

考虑有着相同整数部分的折点,此时 \(f(\lambda)\) 连续,并且每个 \(g(\lambda)\) 先斜后平,即上凸。所以 \(f(\lambda)\) 也上凸。

然后变成一个求凸包。

\(l+\epsilon\) 处直线为 \(A_l\)\(r-\epsilon\) 处直线为 \(A_r\)

  • \(A_l = A_r\),根据凸性可知区间内没有断点。
  • 否则,令 \(A_l\)\(A_r\) 交于 \(P\),令 \(f(\lambda_p + \epsilon)\) 处直线为 \(A_m\)
    • \(A_m\) 等于 \(A_r\),根据凸性可知区间内仅有 \(P\) 一个顶点。
    • 否则说明 \(P\) 下方还有一条直线,\(P\) 一定不是顶点。

于是可以求解。

两个补丁:

  • 答案要求用分数形式,所以尽管用 double 计算网络流,仍要写分数类求答案。

  • 求最大流时由于有未满流的边,不能得到其分数形式,利用最大流最小割定理,算出割掉那些边即可。

http://www.jsqmd.com/news/40543/

相关文章:

  • [note] 素数判定与分解质因数
  • 不能识别adb/usb口记录 - 实践
  • 恭喜自己,挑战成功! - Ghost
  • 如何在测试覆盖不足后补充验证
  • react动态表单
  • 完整教程:PDFBox - PDDocument 与 byte 数组、PDF 加密
  • Dark Side of the Moon
  • flask:自定义异常
  • 图片合集
  • OpenWrt路由的端口映射问题
  • 算法沉淀第七天(AtCoder Beginner Contest 428 和 小训练赛) - 详解
  • How-to-extract-text-from-PDF-Image-files-OCR-CarlZeng
  • Web应用模糊测试完全指南
  • 升鲜宝供应链管理系统、各端的访问地址及nginx 真实的配置方法
  • uiautomator2元素查看器WEditor的安装和启动
  • WEditor的使用方法
  • 【题解】LOJ6300. 「CodePlus 2018 3 月赛」博弈论与概率统计
  • 感情粉末沿着试管边缘 在祝福中逐渐分解 加热认知离子重新排列 于底部悲伤沉淀
  • C#循序渐进 - 详解
  • 2025.11.14 - A
  • 从RvmTranslator到PlantAssistant
  • MI50 在ubuntu 下 风扇控制实现
  • PortSwigger靶场之 CSRF where token is not tied to user session通关秘籍 - 实践
  • nvm不能下载安装低版本node解决办法
  • flask: 抛出异常
  • 20251114——读后感5
  • 雪地奔驰全等级提升所需经验一览
  • 2025皮肤亚健康管理品牌最新专业推荐:科技赋能健康美新生态
  • 【HT-086-Div.2】嗡嗡蜜蜂
  • 第四十一篇