首页 > 其他分享 >[dp 小计] 决策单调性优化

[dp 小计] 决策单调性优化

时间:2024-04-16 10:55:06浏览次数:35  
标签:le 不等式 决策 sqrt ge 小计 单调 dp

我要急眼了,看了一个破博客写错的浪费我两个小时

Task 1

先讲讲最简单的类型。
通常,都是一类类似 \(f_i=\min_{j=1}^i f_j+w(i,j)\)
决策单调,字面意思,就是每次取的点都是右移的。

先声明一下,四边形不等式是决策单调性的充分不必要条件
只证明充分条件。
令 \(w\) 满足 \(w(a,c)+w(b,d)\le w(a,d)+w(b,c)\)
我们思考反证法,对于 \(a<b<c<d\) ,不妨设 \(c\) 的决策点是 \(b\) ,\(d\) 的决策点是 \(a\) 。

如果满足决策单调性,换句话说,就是满足:

\[f_b+w(b,c)\le f_a+w(a,c) \]

\[f_b+w(b,d)\ge f_a+w(a,d) \]

整理,得到:

\[w(b,c)-w(b,d)\le w(a,c)-w(a,d) \]

移项

\[w(a,d)+w(b,c)\le w(a,c)+w(b,d) \]

与四边形不等式矛盾。
因此,只能反证,有篇博客证充要条件的就是误人子弟。
画个图就能简单易懂,四边形对角线长度和大于等于对边长度和,这是反着的,即对边比对角线和长。你也可以记为包含大于相交。
image

难搞证明的式子,根据前人的人类智慧,我们只需要证明 \(\forall a<b,w(a,b)+w(a+1,b+1)\le w(a,b+1)+w(a+1,b)\) 即可,可以理解为取 \(a<a+1<c<c+1\) 四个点。为什么是对的呢?因为前人智慧已经证明了。
image

如果 \(w(a,b)\) 满足四边形不等式,那么就可以使用决策单调性优化。
注意:一定是上面的式子,而不是另一个不等式:\(w(a,b)+w(c,d)<w(a,c)+w(b,d)\)
记住有 \(w(a,d)\) 这一项即可。

例题

P3515 [POI2011] Lightning Conductor

稍微推一下,式子就是 \(f_i\ge \max_{j=1}^{i} a_j+\sqrt{i-j}-a_i\)
这个是取 \(\max\) ,所以我们上述所有推的式子都要取反,也就是说,能使用单调性,需要满足 \(w(a,c)+w(b,d)\ge w(a,d)+w(b,c)\)

明显,这里 \(w(i,j)=\sqrt{i-j}\) ,\(a_i\) 是已经被相减抵消的了。

我们来证明一下 \(w(a,b)+w(a+1,b+1)\ge w(a,b+1)+w(a+1,b)\)
也就是 \(2\sqrt{b-a}\ge \sqrt{b-a+1}+\sqrt{b-a-1}\)
基本不等式即可证明。
至此,我们终于证明了这道题可以使用决策单调性。

实现过程

标签:le,不等式,决策,sqrt,ge,小计,单调,dp
From: https://www.cnblogs.com/g1ove/p/18137654

相关文章

  • ORPO偏好优化:性能和DPO一样好并且更简单的对齐方法
    现在有许多方法可以使大型语言模型(LLM)与人类偏好保持一致。以人类反馈为基础的强化学习(RLHF)是最早的方法之一,并促成了ChatGPT的诞生,但RLHF的成本非常高。与RLHF相比,DPO、IPO和KTO的成本明显更低,因为它们不需要奖励模型。虽然DPO和IPO的成本较低,但它们仍需训练两个不同的模型。首......
  • dpdk报错/lib64/libibverbs.so.1: version `IBVERBS_1.8' not found (required by /us
    问题出现的原因:启动的程序需要dpdk,因为不是root用户,调用dodk的程序时报错:EAL:Errorcreating'/run/user/0/dpdk':PermissiondeniedEAL:Cannotcreateruntimedirectory一开始解决的方法是在绑定网卡的时候,/usr/local/sbin/bindnet.sh-vb ,绑定的时候给与普通用户使用的......
  • Pytorch DistributedDataParallel(DDP)教程二:快速入门实践篇
    一、简要回顾DDP在上一篇文章中,简单介绍了Pytorch分布式训练的一些基础原理和基本概念。简要回顾如下:1,DDP采用Ring-All-Reduce架构,其核心思想为:所有的GPU设备安排在一个逻辑环中,每个GPU应该有一个左邻和一个右邻,设备从它的左邻居接收数据,并将数据汇总后发送给右邻。通过N轮迭代......
  • 12、OSPF-LDP联动
    OSPF-LDP联动 定义在存在主备链路的网络中,当主链路故障恢复后,流量会从备份链路切换到主链路。由于IGP的收敛在LDP会话建立之前完成,导致旧的LSP已经删除,新的LSP还没有建立,因此LSP流量中断。目的如图1所示,PE1-P1-P2-P3-PE2为主链路,PE1-P1-P4-P3-PE2为备份链路。主链路发......
  • Pytorch DistributedDataParallel(DDP)教程一:快速入门理论篇
    一、写在前面随着深度学习技术的不断发展,模型的训练成本也越来越高。训练一个高效的通用模型,需要大量的训练数据和算力。在很多非大模型相关的常规任务上,往往也需要使用多卡来进行并行训练。在多卡训练中,最为常用的就是分布式数据并行(DistributedDataParallel,DDP)。但是现有的......
  • [题解](A-G)Atcoder Educational DP Contest(更新中)
    AtcoderEducationalDPContest\(\textbf{A.Frog1}\)对于一块石头\(i(3\lei\leN)\),\(i-1\)和\(i-2\)均能到达。用\(f[i]\)表示跳到第\(i\)个石头用的最小体力消耗:\[f[i]=min(abs(h[i]-h[i-1])+f[i-1],abs(h[i]-h[i-2])+f[i-2])\qquadi\ge3\]时间复杂度\(O(n)\)。......
  • 【二分+容斥】【ST表/单调栈】【划分型DP】
    二分+容斥题目链接https://leetcode.cn/problems/kth-smallest-amount-with-single-denomination-combination/description/题目大意题目思路假设有一个x元硬币思考只有一种面额为3的硬币时,3可以组成不超过x的面额的数量有x/3种!思考有两种面额【3,6】,可以组成不......
  • eBPF xdp和tc区别
     xdptc层次网卡驱动层数据链路层位置进入Linux网络协议栈之前在Linux网络协议栈中方向只有ingress有ingress和egress修改支持修改报文支持修改报文,有skb结构,修改更方便cilium加载eBPF到虚拟网卡tc上来实现流量转发。......
  • 【图像增强】双平台直方图均衡化(DPHE)
    一、平台直方图平台直方图均衡是对直方图均衡的一种修正方法。首先选择一个合适的平台阈值T,对统计直方图进行如下修正:如果某灰度级的直方图值大于平台阈值T,将其直方图值置为T,如果其直方图值小于平台阈值T,则保持不变。\[\begin{cases}P_{t}(k)=T,ifp(k)>T\\P_{t}(k)=p(k),p(......
  • [笔记]数位dp例题及详解-下
    【接上回】-数位dp例题及详解-上共\(4\)道难度较高、较有思考性的题。附上数位dp题单:https://www.luogu.com.cn/training/494976#problems小小的总述:数位dp是这样的,状态表示越简洁,dp数组越小巧,进而时空消耗就越少。所以我们刷题的时候,可以先无脑把\(f\)数组的每一维都设为与......