决策单调性 dp 的分治解法(整体二分解法)

news/2025/11/22 17:07:21/文章来源:https://www.cnblogs.com/Wy-x/p/19258137

从 整体二分学习笔记 独立出来了。

决策单调性 dp 的分治解法(整体二分解法)

例题:CF868F Yet Another Minimization Problem

类似整体二分的分治方法优化决策单调性 dp。

证明就看这道题的题解吧,我也是看的题解。

这里说一下我的实现方式:

外层遍历 \(k\)

对于每一层:我们还是设一个 \(\{l,r,ql,qr\}\) 表示 dp 数组下标 \(\in [ql,qr]\),决策点一定 \(\in [l,r]\)

\(mid=\frac{ql+qr}{2}\)

然后我们暴力遍历决策点区间尝试转移 \(dp_{mid}\),记录一个 \(p\) 表示决策点 \(p\) 可以使 \(dp_{mid}\) 最小。

由于决策单调性,dp 下标 \(\in [ql,mid)\) 的决策点一定 \(\in [l,p]\),dp 下标 \(\in (mid,qr]\) 的决策点一定 \(\in [p,r]\)。继续分治求解即可。

边界是下标集合为空或决策点集合为空。

对于快速算一个区间的费用,可以用一个类似莫队的方法(可看成双指针)维护。

为了使复杂度正确,并且易于分析复杂度,可以使用 bfs 分治树的方法进行求解。

具体的,维护一个元素为 \(\{l,r,ql,qr\}\) 的队列,每次取出队首,还是按照上面说的方法做,但是将最后分治求解改为队列中依次加入元素 \(\{l,p,ql,mid-1\}\)\(\{p,r,mid+1,qr\}\)

发现分治树深度为 \(\log n\),对于每一层,对答案造成贡献的区间指针一定是向右移动,所以每一层复杂度为线性。

总时间复杂度 \(O(kn \log n)\),常数可能较大。

点击查看代码
#include<bits/stdc++.h>
#define int long longusing namespace std;const int Size=(1<<20)+1;
char buf[Size],*p1=buf,*p2=buf;
char buffer[Size];
int op1=-1;
const int op2=Size-1;
#define getchar()                                                              \
(tt == ss && (tt=(ss=In)+fread(In, 1, 1 << 20, stdin), ss == tt)     \? EOF                                                                 \: *ss++)
char In[1<<20],*ss=In,*tt=In;
inline int read()
{int x=0,c=getchar(),f=0;for(;c>'9'||c<'0';f=c=='-',c=getchar());for(;c>='0'&&c<='9';c=getchar())x=(x<<1)+(x<<3)+(c^48);return f?-x:x;
}
inline void write(int x)
{if(x<0) x=-x,putchar('-');if(x>9)  write(x/10);putchar(x%10+'0');
}const int N=1e5+5;
int n,k;
int a[N];
int dp[N],dp2[N];struct Node{int l,r,ql,qr;// 决策 in [l,r] ,dp数组下标 in [ql,qr];
};
int cnt[N];
queue<Node> q;
int nwl=1,nwr,res;int calc(int l,int r)
{while(nwr<r) res+=cnt[a[++nwr]]++;while(nwl>l) res+=cnt[a[--nwl]]++;while(nwr>r) res-=--cnt[a[nwr--]];while(nwl<l) res-=--cnt[a[nwl++]];return res;
}signed main()
{memset(dp,0x3f,sizeof(dp));memset(dp2,0x3f,sizeof(dp2));dp[0]=0;n=read();k=read();for(int i=1;i<=n;i++) a[i]=read();for(int iiii=1;iiii<=k;iiii++){q.push(Node{1,n,1,n});while(q.size()){Node nw=q.front();q.pop();if(nw.l>nw.r||nw.ql>nw.qr) continue;int mid=(nw.ql+nw.qr)>>1,p=0;for(int i=nw.l;i<=min(nw.r,mid);i++){int to=calc(i,mid)+dp[i-1];if(to<dp2[mid]) { dp2[mid]=to,p=i; }}q.push({nw.l,p,nw.ql,mid-1});q.push({p,nw.r,mid+1,nw.qr});}for(int j=1;j<=n;j++) dp[j]=dp2[j];memset(dp2,0x3f,sizeof(dp2));}cout<<dp[n]<<"\n";return 0;
}

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

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

相关文章

11.17-11.22 总结

11.17 杂题 找了一些贪心题做,完成了贪心状体的一些题目,同时了解到了一个比较经典的贪心策略:对于一个权值为 $\sum_{i=1}^{n} i\times w_i $ 的序列,如果有一个序列 \(A,B\),那么 \(A\) 放在 \(B\) 前面更优的条…

2025年陶瓷防静电地板工厂权威推荐榜单:木基防静电地板/铝合金防静电地板/硫酸钙防静电地板源头厂家精选

在数据中心、精密电子制造等对静电敏感的环境中,陶瓷防静电地板凭借其高耐磨、高承载、稳定防静电的特性,正成为保障生产安全与设备稳定运行的关键基础设施。 陶瓷防静电地板作为一种功能性工业地板,其核心价值在于…

深入解析:帝可得智能售货机系统实战Day1:从环境搭建到区域管理功能落地 (1)

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

2026年宿迁一对一家教机构推荐:五大辅导机构测评排行榜,综合实力全解析!

为精准贴合宿迁家长对小学、初中、高中语文、数学、英语、理化生、史地政一对一家教辅导培训教育机构课外补习的核心需求,聚焦补课提效、培优诉求,针对性解决选择高频痛点——宿城区教学方式适配性不足,宿豫区课时安…

启程

记录我成年的这一天,毕竟一辈子就这一天一些碎碎念 今天是笔者的18岁生日,同时也是这个blog正式诞生的日子,在注册了这么多年之后,我终于想起了我的cnblogs账号。 说起来很可惜,我作为OIer的时候,一直都没有创建…

2025年广州洁净度检测公司权威推荐榜单:空气净化器检测/新风机检测/过滤器(滤网)检测源头公司精选

在生物医药、电子半导体与医疗卫生等行业,生产与研发环境的洁净度直接关系到产品质量与安全,专业洁净度检测正成为保障产业高质量发展的关键环节。 洁净度检测通过对空气中悬浮粒子、微生物浓度以及相关环境参数的精…

2025年减速机定做厂家权威推荐榜单:伺服减速机/精密减速机/人形减速机定制厂家精选

在工业4.0与智能制造转型的浪潮下,定制化减速机作为工业传动系统的核心部件,其性能匹配度与可靠性直接关系到整机设备的运行效率与使用寿命。 工业传动领域对减速机的个性化需求正日益增长,定制化减速机能够针对特定…

[LangChain] 21. LangChain中创建Agent

LangChain Hub LangChain Hub 是一个托管 Prompt 与 Chain 配置的集中仓库(可以理解成 Hugging Face Hub 的“提示词版”)。 它允许开发者:上传 / 分享 自己的 prompt、chain 配置; 下游用户可以直接通过一个 key …

2025年钢丝绳牵引格栅机批发厂家权威推荐榜单:抓斗清污机/耙斗清污机/移动抓斗清污机源头厂家精选

在水环境治理需求持续增长的推动下,钢丝绳牵引格栅机以其稳定的清污性能和可靠的工作效率,正成为市政污水处理、泵站清污的关键设备。 根据水利机械行业数据显示,2024年中国水处理清污设备市场规模达到127亿元,年均…

HBase大数据存储如何提升读写性能

Hbase是一个分布式、可扩展、支持海量数据存储的NoSQL数据库,它通过优化数据模型、硬件配置、系统配置、缓存机制以及负载均衡策略来提升读写性能。以下是一些关键的性能优化措施: Hbase大数据存储提升读写性能的方法…

HBase大数据存储如何应对网络延迟

Hbase分布式数据库,其设计允许它通过一系列优化措施来应对网络延迟,确保数据存储和访问的性能。以下是一些主要的优化方法: Hbase优化方法预分区和预分割表:通过合理设计表的列簇、列族和列的结构,避免过多的列族…

P10683 [COTS 2024] 划分 Particija

思路 转化一下题意,\(a_i\) 和 \(b_i\) 恰有一个限制被满足,变成在一个二分图上有一些边 \((a_i,b_i)\),求最小点覆盖。 \(k>0\) 时可以更改一条边的一个端点,使得最大或最小化最小点覆盖。 不难发现整个图是由…

2025云南曲靖市玉溪市一对一家教辅导测评排行榜:权威推荐高性价比选择

一、家教选择痛点凸显,两地学子急需优质辅导解决方案 在曲靖市麒麟区、沾益区、马龙区、宣威市、罗平县、富源县、师宗县、陆良县、会泽县,玉溪市红塔区、江川区、澄江市、通海县、华宁县、易门县、峨山彝族自治县、…

2026年盐城一对一补习机构权威推荐:靠谱辅导机构测评排行榜

盐城市小学、初中、高中家长在一对一家教选择中深陷困境:小学家长渴求靠谱教育机构夯实基础,却遇“试听课优质、正式课换师”的货不对板;初中家长筛选辅导培训平台时,常被“缴费不退”的霸王条款捆绑;高中家长为培…

2025高粱酒纯粮食酒推荐TOP10,纯粮固态发酵酱香浓郁回甘绵长

高粱酒作为中国白酒的核心品类,以高粱为主要原料的纯粮食酿造工艺,不仅承载着千年酿酒文化,更凭借醇厚的口感与自然的风味成为酒类消费市场的主流选择。不同香型的高粱酒在工艺、风味上各具特色,从酱香的醇厚绵长到…

2025内蒙古兴安盟锡林郭勒盟阿拉善盟一对一家教辅导测评排行榜:优质选择推荐

在兴安盟(乌兰浩特市、阿尔山市、科尔沁右翼前旗、科尔沁右翼中旗、扎赉特旗、突泉县)、锡林郭勒盟(锡林浩特市、二连浩特市、阿巴嘎旗、苏尼特左旗、苏尼特右旗、东乌珠穆沁旗、西乌珠穆沁旗、太仆寺旗、镶黄旗、正…

2025年煤矿用阻燃铠装光缆生产厂家权威推荐榜单:矿用铠装光缆/煤矿用光缆/矿用4芯光缆源头厂家精选

在煤矿智能化建设与安全生产要求不断提升的背景下,矿用阻燃铠装光缆以其卓越的机械防护性能和本质安全特性,正成为煤矿井下通信系统不可或缺的传输媒介。 煤矿井下环境复杂,存在瓦斯、煤尘等易燃易爆风险,对通信光…

玉树州一对一家教机构最新推荐,2026最新家教机构榜单:家长首选靠谱提分方案推荐

玉树市、杂多县、称多县、囊谦县、治多县、曲麻莱县的家长们,是不是总在为孩子的课外补习发愁?靠谱的玉树州一对一辅导机构哪家好?不同平台收费多少合理?如何避开“付费陪读”的坑?不管是结古大道、香达街周边的家…

回滚莫队模版

回滚莫队模版 题意 给定数列,查询 \(l\) 到 \(r\) 的众数。 思路 如果考虑暴力,我们需要一遍遍的遍历数列的数,然后求众数,但是这样效率太低了。 思考怎么优化,首先想到的线段树,但很容易发现这个众数一点都不好…