max、逻辑与绝对值

news/2025/2/2 12:56:00/文章来源:https://www.cnblogs.com/Jue-Fan/p/18696787

在诸多时候(例如组合计数),我们很方便处理加与乘,此时 \(\max\) 这种东西对我们是一个头疼的东西。

同样令我们头疼的还有逻辑与、逻辑或、绝对值,这些东西在一定前提下是可以互相转化的,显然将所有形式转化到一起,有利于我们观察性质。

叙述完了目的,我们开始正文。

max 的性质

\(\max(a,a)=a\) 配合上交换律结合律使得 \(\max\) 是一个很有性质的运算,\(+\)\(\max\) 还有分配律,甚至 \(\min\)\(\max\) 也有分配律。

同向的 \(\max\) 可以让我们拆掉很多东西,很典型的,倘若我们的“贡献”指的是对答案取 \(\max\),那么 \(\max(a,b)\) 贡献到答案,就不如 \(a,b\) 贡献到答案。

\(\max\) 运算不可逆是它唯一的缺点,也是通常它令我们头疼的点。

逻辑

很经典的,\(\max(a,b)\le c\iff a\le c\wedge b\le c,\max(a,b)\ge c\iff a\ge c\vee b\ge c\)

通常更有用的是第一个,因为复杂问题下,给出的诸多“限制”自带逻辑与的含义,\(a\le c\wedge b\le c\) 虽然增加了条件的个数,但是却化简了条件。

当然,后者也很有用,因为当 \(a,b,c\) 都是一坨式子的时候,将其变为可以移项的不等式实在是很有用的一件事。

下面给出一个例子,这在 Exchange Arguments 问题及其变种中十分有用:

\[\begin{aligned}& \max(f_x,f_{y}-g_x)< \max(f_y,f_x-g_y)\\&\iff\left( f_x< \max(f_y,f_x-g_y)\right)\wedge\left( f_y-g_x< \max(f_y,f_x-g_y)\right)\\&\iff \left((f_x<f_y)\vee (f_x< f_x-g_y)\right)\wedge \left((f_y-g_x<f_y)\vee (f_y-g_x< f_x-g_y)\right)\\&\iff\left((f_x<f_y)\vee (g_y<0)\right)\wedge \left((g_x>0)\vee (f_x+g_x>f_y+g_y)\right)\end{aligned} \]

不去深究具体含义,这确实为我们带来了很直观的等价版本。

同样的方式也可以用来处理集合的交并,不过直接对交并统计的题目较为冷门,此处不展开。

绝对值

绝对值与 \(\max\) 的互转同样很常用。

很经典的,\(|a-b|=\max(a-b,b-a)\),这在 曼哈顿距离 中十分常用,例如如果我们要求距离每个点的最大曼哈顿距离,由于求最大值,所以 \(\max\) 的结合律可以让我们拆掉内层的 \(\max\),于是我们可以用 \(2^k n\)\(k\) 是维数)的复杂度求解。

例题:[ARC107F] Sum of Abs。

本题就把 \(\max |\sum b|\) 拆成了"所有 \(b\) 的符号必须相同即可贡献到答案",然后再用一些网络流技巧来限制符号相同。

还有一个容易忽视的转化:\(\max(a,b)=\frac{a+b+|a-b|}{2}\),如果我们把加和乘看作“没有代价”的话,那么这个式子实现了 \(\max(a,b)\)\(|a-b|\) 的直接转化,若 \(a-b\) 能化简那再好不过。

例题:CF2062F。

给定序列 \(a,b\),一个完全图,\(w(i,j)=\max(a_i+b_j,a_j+b_i)\),对每个 \(k\)\(k\) 条边的最短哈密顿路。

\(n\le 3000\)

\[\max(a_i+b_j,a_j+b_i)=\frac{a_i+b_i+a_j+b_j+|a_i+b_j-a_j-b_i|}{2} \]

忽略掉除以 \(2\),对一条路径,前面的贡献就是 \(2(\sum a+\sum b)- (a+b)_{first,last}\),后面的贡献就是将位置视作 \(x_i=(a_i-b_i)\),不断移动的路程。

显然,固定 \(first,last\),后面的贡献最小是 \(2(\max x-\min x)-|x_{first}-x_{last}|\)

到这里已经可以 \(\rm dp\) 了,按照 \(x\) 排序后,设 \(f_{i,j,0/1/2}\) 表示前 \(i\) 个,选了 \(j\) 个,无 \(first,last\)/有其一/都有,\(\min x\) 的贡献在 \(j\)\(0\) 变为 \(1\) 时算,\(\max\) 的贡献可以统计答案时算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/877976.html

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

相关文章

独立开发经验谈:如何借助 AI 辅助产品 UI 设计

我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统。陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户,在这个过程中,我也积累了不少如何开发运营一款独立产品的经验。我将在本文中介绍如何借助 AI 辅助产品…

Lazarus4Android 环境搭建

Lazarus4Android 开发环境搭建Lazarus4Android 开发环境搭建 一、下载相关文件最关键的就是这两个文件,其他的JDK、NDK、Java环境另说。 这里要注意,gradle版本必须小于7,不然无法使用。 二、IDE内部设置 安装完成laz4A之后可能会报错,无需理会,启动IDE即可。安装卸载软件…

14-断点调试单个用例

在pycharm的Terminal输入hytest,其实是输入了python -m hytest.run,意思就是执行了hytest包里面的run.py文件 然后再点击debug按钮的时候就可以进行调试了,相当于执行了cd H:\my\autotest后 python.exe -m hytest.run --test *0101

博图18安装过程记录

博图V18安装过程记录刚开通博客园,搬运一些之前的帖子过来。 博图18安装过程记录 下载 西门子中智赛官网给的链接,是正版软件。 安装 TIA Potral STEP7将ISO解压或装载。管理员身份运行。 选择典型安装,等待安装完成。 插曲1 无法更改安装路径 这是因为之前安装过博图15.1(或…

题解:P11617 递推

前言 第一次在 OI 中见到求数列极限的题,有点意思。 但是为什么会过这么多人啊。 思路分析 做一点尝试: \[\sum_{i=m} \sum_{j=0}^{m} r_ja_{i-j}=0 \]然后对于相同的 \(a_i\),合并同类项: \[\sum_{i=m}\sum_{j=0}^{m} r_ja_i + \sum_{i=0}^{m-1}\sum_{j=0}^{i} r_{m-j}a_i…

AI编程助手带来的洞察和启发——程序员职业的变革

前言 从chatgpt的横空出世到国内大模型的强势崛起, 从AI只会写诗作画到辅助编程, AI作为新质生产力的重要角色逐渐进入各行各业,为行业带来新的可能性。Cursor、通义灵码这类"AI程序员"的出现一方面给编码工作带来了便利,另一方面也对软件从业人员带来极大的冲击…

个人数据保全计划:部署joplin server笔记同步服务

前言 在这个数据爆炸的时代,个人数据的价值愈发凸显,成为我们生活与工作中无可替代的重要资产。上一篇文章里,我介绍了从印象笔记迁移至 Joplin 的过程,这是我寻求数据自主掌控的关键一步。在探索同步方案时,我尝试了 OneDrive,原以为它能提供稳定高效的同步服务,可实际…

【deepseek】在deepin系统上部署运行deepseek-r1

环境配置LM-Studio官网:https://lmstudio.ai/修改“镜像源”cd /opt/apps/ai.lmstudio/files/LM_Studio/resources/app/.webpack/main 使用vscode打开进行编辑,./resources/app/.webpack/main/index.js./resources/app/.webpack/main/llmworker.js./resources/app/.webpack/m…

C++ 编译静态链接 (-static)

因为很长一段时间内并不知道这个编译参数究竟是干什么用的,只知道这个参数在 NOI 系列赛事中普遍使用,并且会导致编译输出文件变大,直到碰到具体问题了才发现这个参数的作用 -static 参数是静态链接开关,不加这个参数默认是动态链接,加上这个参数以后是静态链接,先说一下…

https://avoid.overfit.cn/post/e57ca7e30ea74ad380b093a2599c9c01

DeepSeekMoE是一种创新的大规模语言模型架构,通过整合专家混合系统(Mixture of Experts, MoE)、改进的注意力机制和优化的归一化策略,在模型效率与计算能力之间实现了新的平衡。DeepSeekMoE架构融合了专家混合系统(MoE)、多头潜在注意力机制(Multi-Head Latent Attention, ML…

DeepSeekV3+Roo Code,智能编码好助手

前言 硅基流动最近上线了deepseek-ai/DeepSeek-R1与deepseek-ai/DeepSeek-V3,感兴趣快来试试吧! 邀请注册得14元不过期额度:https://cloud.siliconflow.cn/i/Ia3zOSCU。实践 最近VS Code中的自动编程插件Cline很火爆,Roo Code也是Cline的一个fork版本。 Cline 自主编码代理…

Cisco Catalyst 8000V Edge Software, IOS XE Release 17.16.1a ED - 思科虚拟路由器系统软件

Cisco Catalyst 8000V Edge Software, IOS XE Release 17.16.1a ED - 思科虚拟路由器系统软件Cisco Catalyst 8000V Edge Software, IOS XE Release 17.16.1a ED 思科 Catalyst 8000V 边缘软件 - 虚拟路由器 请访问原文链接:https://sysin.org/blog/cisco-catalyst-8000v/ 查看…