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

题解:P2258 [NOIP2014 普及组] 子矩阵

这道题一定要好好读题!我就被坑了

这道题是一道模拟+dp 的题目。

首先我们一个个枚举行选出了哪些行,接着我们 dp 列,令 \(f_{i,j}\) 为前 \(i\) 列选了 \(j\) 列,并且选了第 \(i\) 列,再令前面选的一个是 \(k\),那么转移是 \(f_{i,j} = \min(f_{k,j-1}+s1_{i}+s2_{k,i})\)


那么这道题就能做出来啦!(细节详看代码)

AC code:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 20;
const int inf = (1 << 29);
int n, m, r, c, ans = inf;
int a[N][N], row[N], s1[N], s2[N][N], dp[N][N];
int main() {scanf("%d%d%d%d", &n, &m, &r, &c);for (int i = 1; i <= n; i++)for (int j = 1; j <= m; j++)scanf("%d", &a[i][j]);for (int S = 0; S < (1 << n); S++) {int cnt = 0;for (int i = 0; i < n; i++)if (S & (1 << i)) {row[cnt] = i + 1;cnt++;}if (cnt != r)continue;for (int i = 1; i <= m; i++) {s1[i] = 0;for (int j = 0; j < cnt - 1; j++)s1[i] += abs(a[row[j]][i] - a[row[j + 1]][i]);for (int k = i + 1; k <= m; k++) {s2[i][k] = 0;for (int j = 0; j < cnt; j++)s2[i][k] += abs(a[row[j]][i] - a[row[j]][k]);}}for (int i = 0; i <= m; i++)for (int j = 0; j <= c; j++)dp[i][j] = inf;dp[0][0] = 0;for (int i = 1; i <= m; i++) {dp[i][1] = s1[i];for(int j = 2; j <= c;j++)for (int k = 1; k < i; k++)dp[i][j] = min(dp[i][j], dp[k][j - 1] + s1[i] + s2[k][i]);ans = min(ans,dp[i][c]);}}printf("%d",ans);
}

完结撒花!

http://www.jsqmd.com/news/181885/

相关文章:

  • 图书馆闭馆提醒:温柔语音取代刺耳铃声
  • 【Asyncio事件触发机制深度解析】:掌握高效异步编程的核心引擎
  • 题解:AT_abc389_c [ABC389C] Snake Queue
  • PyTorch显存占用太高?3个鲜为人知的Python技巧让你效率翻倍
  • DeepMimic: Example-Guided Deep Reinforcement Learning of PhysicsBased Character Skills
  • 文学作品角色演绎:小说中每个人物都有独特声线
  • 矿山安全监控系统:危险区域进入时触发语音警告
  • 军事指挥系统语音输出:保密前提下的高效信息传递
  • 编辑文章 - 题解:CF665D Simple Subset
  • 雾霾指数语音提醒:环保部门发布空气质量通知
  • 提升PostgreSQL编码效率的利器:pg-aiguide✨
  • 【从入门到精通】:NiceGUI输入校验的7种高级实现方式
  • PyWebIO上传下载功能隐藏用法大揭秘:99%新手不知道的2个核心参数
  • 让Claude更聪明,提升效率的秘笈——Agent Skills 开源项目介绍
  • 建筑工地安全广播:每日开工前自动播放注意事项
  • 家乡方言保存工程:用VoxCPM-1.5-TTS留住文化遗产
  • 题解:CF628C Bear and String Distance
  • 没闲着系列 2026 - 1.2 - ukyo-
  • 从零实现3D旋转与缩放,Python视角控制实战案例详解
  • 深度伪造语音防范:如何识别VoxCPM-1.5-TTS生成内容?
  • 孔子学院教学辅助:留学生练习汉语发音的好帮手
  • Python大模型显存管理实战(从OOM到流畅训练的5个关键步骤)
  • 女性开发者沙龙:巾帼力量推动语音技术进步
  • 潜水教学语音提示:水下环境特殊场景的应用探索
  • DC宇宙蝙蝠洞通讯:戈登局长接到AI生成警报
  • 拍卖会竞价播报:主持人助手实时复述出价金额
  • Python 3D图形开发必知(视角控制技术全公开)
  • 外卖骑手接单提示音:VoxCPM-1.5-TTS定制专属提醒语调
  • 我的2025年度总结:代码行行皆是思维留痕
  • 体育赛事比分更新:观众无需看屏也能掌握赛况