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

题解:P11520 [THUPC 2025 初赛] 骑行计划

更差的阅读体验


题目可以形式化一下。

有一个直方图,第 \(i\) 列的高度为 \(a_i\),初始全白。你可以花费 \(c\) 的代价涂黑一个格子,或者花费 \(w_i\) 的代价,涂黑一个宽 \(d_i\)\(t_i\) 的矩形(矩形的下边界要和 \(x\) 轴重合)。求涂黑整个直方图的最小代价。

区间 dp,从上往下做。设 \(f_{x, l, r}\) 表示覆盖第 \(l \sim r\) 列高度 \(> x\) 的部分的最小代价,最终答案为 \(f_{0, 1, n}\)

那么我们可以考虑第 \(l\) 列的状况来转移。

  1. 整列一个点一个点涂黑。

\[f_{x, l, r} \leftarrow f_{x, l+1, r} + \max(a_l - x, 0) \cdot c \]

  1. 在下面框一个矩形。假设 \(g_{d, t}\) 表示可以覆盖 \(d \times t\) 的矩形的 \(w\) 最小的矩形。那么我们可以枚举框出来的矩形的长和宽。

\[f_{x, l, r} \leftarrow f_{j, l, l+i-1} + f_{x, l+i, r} + g_{i, j} \]

复杂度 \(O(n^5)\)

我们发现,第二个转移中 \(f_{j, l, l+i-1} + g_{i, j}\) 这一部分和 \(r\) 无关,而 \(f_{x, l+i, r}\)\(j\) 无关,这启发我们可以把和 \(j\) 有关的东西整理出来,用一个类似后缀最小值的东西优化。

我们直接设 \(h_{l, i, x}\) 表示 \(\min \limits_{j \ge x} f_{j, l, l+i-1} + g_{i, j}\),那么我们就不用枚举 \(j\) 了。所以第二个转移可以变成

\[f_{x, l, r} \leftarrow h_{l, i, x+1} + f_{x, l+i, r} \]

然后这道题就做完了,复杂度 \(O(n^4)\)

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define N 156
using namespace std;
template <typename T> inline void chkmax(T &x,T y){x=x<y?y:x;}
template <typename T> inline void chkmin(T &x,T y){x=x<y?x:y;}
int n,m,c,mx,a[N],w[N],d[N],t[N],g[N][N],f[N][N][N],h[N][N][N];
main()
{scanf("%lld%lld%lld",&n,&m,&c);for(int i=0;i<N;i++)for(int j=0;j<N;j++)for(int k=0;k<N;k++)f[i][j][k]=g[j][k]=h[i][j][k]=1e15;for(int i=1;i<=n;i++)scanf("%lld",&a[i]),chkmax(mx,a[i]);for(int i=1,d,t,w;i<=m;i++)scanf("%lld%lld%lld",&w,&d,&t),chkmin(g[d][t],w);for(int i=n;i;i--)for(int j=mx;j;j--)chkmin(g[i][j],min(g[i+1][j],g[i][j+1]));for(int x=0;x<N;x++)for(int i=0;i<=n;i++)f[x][i+1][i]=0;for(int x=mx;~x;x--)for(int l=n;l;l--){for(int r=l;r<=n;r++){chkmin(f[x][l][r],f[x][l+1][r]+max(0ll,a[l]-x)*c);for(int i=1;i<=r-l+1;i++)chkmin(f[x][l][r],h[l][i][x+1]+f[x][l+i][r]);}for(int i=1;i<=n-l+1;i++)h[l][i][x]=min(f[x][l][l+i-1]+g[i][x],h[l][i][x+1]);}printf("%lld\n",f[0][1][n]);return 0;
}
http://www.zskr.cn/news/81549.html

相关文章:

  • 在IAR Embedded Workbench for Renesas RH850中开发和调试Renesas RH850 MCU
  • 在本地机器上训练和运行斯坦福Alpaca模型指南
  • SpeedAI一键降重降AIGC - 老米_专讲AIGC率
  • 2025密度传感器推荐品牌与十大排行榜深度解析——高精度产品全场景应用指南 - 品牌推荐大师1
  • 时序数据库 IoTDB Committer:不用等自己足够强再开始!高质量技术圈子+持续成就感=成长!
  • 国内智能物联网功能平台厂家有哪些?品牌有哪些?售后哪家好? - 品牌推荐大师
  • 西南大模型高薪密码:真术相成凭什么成为本土求职者的首选?
  • 避坑指南:2025年如何筛选排名前十四的球阀批发商,专业的球阀双达阀门市场认可度高 - 品牌推荐师
  • 2025春熙路火锅人气榜:口碑前十强揭晓,火锅店/重庆火锅/老火锅/特色美食/火锅/美食/川渝火锅火锅品牌选哪家 - 品牌推荐师
  • JS---简写自执行函数的写法
  • IAR云就绪平台实现对瑞萨RH850/U2x的全系列支持,赋能新一代汽车电子开发
  • 2025年宝宝敏感肌护理产品推荐榜单,纽强蝉联婴童护肤前列,严控欧盟标准 - 速递信息
  • DeepSeek爆火,OpsPilot才是运维最坚实的幕后主心骨
  • 国内酒店设计公司有哪些?行业实力企业推荐盘点 - 品牌排行榜
  • 如何辨别电竞培训学校的真实力?2025年年终最新行业评估方法论及5所实力机构推荐! - 品牌推荐
  • 推荐几家TikTok代运营公司,五家效果不错的TikTok营销服务商推荐(2025年12月新版) - 品牌2025
  • 2025年靠谱的稀土硝酸盐厂家最新推荐排行榜 - 行业平台推荐
  • 2025年锚艇订制厂家权威推荐榜单:抛锚艇/多功能辅助工作船/辅助船源头订制厂家精选 - 品牌推荐官
  • 双指针
  • 2025 十大正版素材网站推荐:高清商用图片资源整理及避坑指南 - 品牌2026
  • 展厅翻新公司推荐:国内优质服务企业实力盘点 - 品牌排行榜
  • 20251210——读后感7
  • 金属力学检测机构推荐,2025金属材料权威检测机构推荐哪些? - 品牌推荐大师1
  • 微库仑硫分析仪十大行业知名品牌及标杆企业厂家哪家好?生物柴油测硫仪口碑好、售后服务好、响应快、性价比高、有实力的油品总硫分析仪生产厂家有哪些? - 品牌推荐大师1
  • 2025年成都本地人火锅推荐TOP10,味道正宗不踩雷,社区火锅/美食/烧菜火锅/特色美食/火锅店/老火锅/火锅火锅品牌选哪家 - 品牌推荐师
  • 微信小程序定制开发公司哪家专业,定制功能迭代+用户体验优化团队推荐:工单小程序/名片小程序/商城小程序多领域小程序定制开发公司推荐 - 品牌2025
  • 2025 年 12 月 TPE 材料厂家权威推荐榜:TPE原料,TPE颗粒,TPE弹性体,环保高性能定制化供应商深度解析 - 品牌企业推荐师(官方)
  • 2025成都火锅必吃榜:十大热门品牌深度解析,美食/火锅/成都火锅/地摊火锅/社区火锅/牛肉火锅/重庆火锅/老火锅成都火锅品牌有哪些 - 品牌推荐师
  • 保护 Swift 代码不被逆向,从符号暴露、类型信息到 IPA 层的全方位防护体系
  • 微信小程序定制开发公司哪家靠谱,合规开发+数据安全双保障服务商推荐:含微信小程序/支付宝小程序/抖音小程序多平台小程序定制开发公司推荐 - 品牌2025