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

news/2025/11/14 20:37:28/文章来源:https://www.cnblogs.com/lupengheyyds/p/19223340

非离散网络流——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.mzph.cn/news/965700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[note] 素数判定与分解质因数

在某些毒瘤的数论题中,可能出现对 \(10^{18}\) 的范围内的数质因数分解的情况。这时,可以使用 Fermat 和 Miller-Rabin 算法进行素性判定,Pollard-Rho 算法寻找非平凡因子,两者结合以快速质因数分解。 Fermat 素性…

不能识别adb/usb口记录 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

恭喜自己,挑战成功! - Ghost

恭喜自己,挑战成功! 我终于,拿省一啦! 正文: 在2025年8月18日,本人开始了一项挑战 挑战三个月达省一 在三个月后,2025年11月14日,NOI官网发布了分数and分数线 本人以高出一等分数线10分的分数(250pts),成功…

如何在测试覆盖不足后补充验证

测试覆盖不足是项目质量的重大隐患,一旦发现(尤其是当它已导致线上问题时),团队必须立即采取系统性的补充验证措施。核心策略是停止盲目开发,转而执行一套以风险为导向的补救流程。 首先,必须立即对未覆盖的区域…

react动态表单

来个例子 比如有两种登录方式 // 导入表单验证库 import * as z from zod; // 导入消息提示组件 import { toast } from sonner; import { useState } from react; // 导入 UI 组件 import { Input } from @repo/shadc…

完整教程:PDFBox - PDDocument 与 byte 数组、PDF 加密

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Dark Side of the Moon

“Speak to Me” "Ive been mad for fucking years, absolutely years, been over the edge for years, been working me buns off for bands..." "Ive always been mad, I know Ive been mad, like mo…

flask:自定义异常

一,代码: 自定义异常:class ApiError(Exception):""""API接口异常错误"""messsage = ""# 默认错误码status_code = 400# 自定义一个return_code, 作为更细粒的错误代码…

图片合集

\(sin(2\theta)=2sin(\theta)cos(\theta)=\frac{2tan(\theta)}{1+tan^2(\theta)}\) \(cos(2\theta)=cos^2(\theta)-sin^2(\theta)=\frac{1-tan^2(\theta)}{1+tan^2(\theta)}\) \(tan(2\theta)=\frac{2tan(\theta)}{1-t…

升幂引理(LTE)

记 \(\nu_p(n)\) 表示 \(n\) 的标准分解中素数 \(p\) 的幂次,即 \(p^{\nu_p(n)} \parallel n\)。 该引理分为两部分:设 \(a, \, b\) 为不等正整数且 \(p \mid a - b\),\((p, \, ab) = 1\),若 \(p\) 为奇素数,则 \(…

OpenWrt路由的端口映射问题

之前做过AI大模型搭建,想将搭建的访问能开放到外部局域网,方便其他人访问,需要一些网络设置,就在这个网络配置上踩了些坑。 想在最外局域网中访问,但是自己这边用了两级的路由,第一级是小米的无线路由,以及上一…

解码IPC-管道与信号

进程间通信(IPC) 进程间通信(Inter Process Communication,简称 IPC)是进程间的信息交换,核心目的包括数据传输、共享资源、控制进程,方便对进程的管理与调度。常见 IPC 方式有管道通信、信号通信、共享内存、消…

算法沉淀第七天(AtCoder Beginner Contest 428 和 小训练赛) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

How-to-extract-text-from-PDF-Image-files-OCR-CarlZeng

本文阐述如何自建并使用OCR识别图片或PDF中文字(转化成文本等进一步处理), 以及NetSuite调用OCR API的场景雏形. How to extract text from PDF(Image) files. 20251113 引入自建ocr服务docker部署OCR项目 支持离线+…

Web应用模糊测试完全指南

本文详细介绍了使用ffuf工具进行Web应用模糊测试的完整流程,包括目录发现、子域名枚举、暴力破解攻击、参数挖掘等多种技术,提供了实用的命令示例和配置参数说明。Fuzzing Web Apps Full Guide 前言 在这篇博客中,我…

升鲜宝供应链管理系统、各端的访问地址及nginx 真实的配置方法

server {listen 443 ssl;server_name sxbscm.sxbscm.com;# 1. SSL 证书配置(关键:补充中间证书,避免链不完整导致兼容问题)ssl_certificate /mnt/sxbscm/ssl/sxbscm.sxbscm.com/sxbscm.sxbscm.com.pem; # 主证书(…

2025.11.14模拟赛

IOI赛制,fjj的模拟赛,题目质量非常高(准确来说是非常适合我们),fjj强大的%%% 赛时看T1,然后打了60暴力,已经知道用组合数来求了,然后也知道固定左上角的来求答案,但是就是没想明白怎么去除重复的贡献 然后一看…

【HT-086-Div.2】错乱的集合

【HT-086-Div.2】错乱的集合 题解比赛现场 更阅读体验的阅读体验 是个好题。但是我赛时怎么什么都不会。首先简化一下题面:\(s\) 和 \(t\) 被认为是相同的,当且仅当 \(s=t\) 或 \(|t|=|s|-1\) 且 \(t\) 是 \(s\) 的后…

uiautomator2元素查看器WEditor的安装和启动

WEditor 一、WEditor简介 在执行APP UI自动化测试时,需要使用到元素定位,通常我们会直接使用appium Desktop的Inspector。介绍另一款UI元素定位的工具--WEditor。WEditor能够提供辅助编写脚本,定位元素,调试代码等…