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

P1437 敲砖块 Sol

题目链接

前言

本题解起初参考的题解是错解,感觉只能提供一个思路,然而底下的转移还得自己重推。虚空调题1h,最终战胜。

思路

感觉常规的 DP 不可做,考虑最后答案的形态。显然的,最后的答案形如:

\              /\    /\    __/\  /  \  /\/    \/

(有点丑了,能看懂就行)

不难发现这根线上面的部分会被统计进答案。

因此可以对着这根线进行 DP。

\(dp[i][j][k]\) 表示位置 \((i,j)\) ,使用了 \(k\) 个空间形成的答案。那么有以下转移:

  • \(dp[i][j][k] = dp[i+1][j-1][k-i]+sum[i][j]\)
  • \(dp[i][j][k]=dp[i-1][j][k-1]+a[i][j]\)
  • \(dp[i][j][k]=dp[i][j-1][k-i]+sum[i][j]\)
    其中 \(sum[i][j]\) 用来表示当前列的前缀和。

做完了,感谢错的题解,让我写了半天。希望我再也不会遇到这种题解。

Code

这里需要注意,线不一定连续,代码中使用了第 0 行用来辅助转移。

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false);cin.tie(0),cout.tie(0)
#define File(s) freopen(s".in","r",stdin);freopen(s".out","w",stdout)
#define LL long long
#define fi first
#define se second
const int N = 52;
int n,m;
LL f[N][N][N*(N+1)/2];
int a[N][N];
LL sum[N][N];
int main()
{IOS;cin >> n >> m;for(int i=1;i<=n;i++){for(int j=1;j<=n-i+1;j++){cin >> a[i][j];sum[i][j] = sum[i-1][j] + a[i][j];}}LL ans = 0;for(int j=1;j<=n+1;j++){for(int i=0;i<=n-j+1;i++){for(int l=i;l<=m;l++)f[i][j][l] = max(f[i+1][j-1][l-i]+sum[i][j],f[i][j-1][l-i]+sum[i][j]);for(int l=i;l<=m;l++){if(i > 0) f[i][j][l] = max(f[i][j][l],f[i-1][j][l-1]+a[i][j]);}}}ans = f[0][n+1][m];cout << ans << "\n";return 0;
}
http://www.jsqmd.com/news/454225/

相关文章:

  • 游戏上市公司合同系统实施复盘(一):当“功能落地”遇上“蓝图未定”,我们错在哪?
  • # 别追着新工具跑了!真实的小公司AI Coding落地生存指南
  • 2026最新防腐涂料及工程推荐!水池/混凝土/储罐/地坪/钢结构适用权威榜单 - 十大品牌榜
  • 多动症是什么?主要有哪些早期识别及治疗方法?
  • MySQL进阶版第二课时
  • 说说湖南成人专升本培训,哪家品牌靠谱且性价比高? - 工业设备
  • 计算机毕业设计springbootNBA体育赛事直播平台 基于SpringBoot的篮球赛事在线直播与数据管理系统 基于Java的NBA球赛实时转播与信息服务平台
  • YOLO26改进75:全网首发--c3k2模块添加FFCM模块:在空间域和频域同时执行卷积操作,兼具局部-全局特征捕获能力与高效性
  • 聊聊上海好用的DTSS认证服务商,上海擎标口碑如何? - 工业品网
  • 基于ANSYS的小型温室的温湿度场对流分析(任务书+开题报告+文献综述+仿真+毕业论文+答辩PPT)
  • 行业内有实力的百度推广公司推荐
  • 计算机毕业设计springboot校园药送达 高校医药配送服务平台 校园智慧药品快送系统
  • ubuntu 安装 Redis
  • OpenClaw基础-4-三分钟完成QQ机器人接入
  • Linux生态下HTTP协议解析+进阶HTTPS证书:抓包、拆解与问题排查实战
  • 博图中水处理系统PLC程序设计:电机智能启停与轮训实现
  • Redis 核心原理解析:跨越次元壁的“快”
  • WebSpoon9.0(KETTLE的WEB版本)编译 + tomcatdocker部署 + 远程调试教程
  • 改了Windows用户文件夹名称之后,IntelliJ IDEA打不开
  • 上海普陀区有实体样板间可参观的公寓装修公司
  • 前端实习后的感受:实习要注意什么?实习怎么提升效率?
  • Virus-BeautyCode
  • 高清4k手机电脑壁纸
  • Jmeter分布式压测,一篇搞定。。。
  • 【ASP.NET CORE】 4. 集成配置系统、分层架构
  • 什么是Lambda表达式,为什么要用Lambda表达式,你在哪里使用过
  • 数据库设计 Step by Step ()
  • 探寻2026年热风干燥机设备系列,江苏靠谱供应商排名 - 工业设备
  • 上海杨浦区擅长大宅整装的公司
  • 口碑好的数字人视频编辑公司