题面

sol:先爆搜搜出r行,再在那r行中选c列DP得到最优解

我太菜了,这种题都做了好久,还需锻炼码力啊qwq

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n, m, r, c, Map[][], loc[], ll[], hh[][], f[][], ans;
inline void solve()
{
memset(f, , sizeof f);
memset(ll, , sizeof ll);
memset(hh, , sizeof hh);
for(int i = ; i <= m; i++)
for(int j = ; j <= r; j++)
ll[i] += abs(Map[loc[j]][i] - Map[loc[j - ]][i]);
for(int i = ; i <= m; i++)
for(int j = i + ; j <= m; j++)
for(int k = ; k <= r; k++)
hh[i][j] += abs(Map[loc[k]][i] - Map[loc[k]][j]);
for(int i = ; i <= m; i++)
f[][i] = ll[i];
for(int i = ; i <= c; i++)
for(int j = ; j <= m; j++)
for(int k = j + ; k <= m ; k++)
f[i][k] = min(f[i][k], f[i - ][j] + ll[k] + hh[j][k]);
for(int i = c; i <= m; i++)
ans = min(ans, f[c][i]);
}
inline void dfs(int x, int pre)
{
if (x == r + )
{
solve();
return;
}
for(int i = pre + ; n - i >= r - x; i++)
loc[x] = i,
dfs(x + , i);
}
int main()
{
while(~scanf("%d%d%d%d", &n, &m, &r, &c))
{
ans = 0x3f3f3f3f;
memset(loc, , sizeof loc);
for(int i = ; i <= n; i++)
for(int j = ; j <= m; j++)
scanf("%d", &Map[i][j]);
dfs(, );
printf("%d\n", ans);
}
}

luogu2258的更多相关文章

随机推荐

  1. JS中caller和callee

    caller: caller是函数对象的一个属性,指的是这个函数对象的调用者,如果调用者,如果是顶层调用者,则返回null. 例: function func(){ console.log(func. ...

  2. Maven学习第3期---m2eclipse使用

    一.m2eclipse简介 和Nexus一样,m2eclipse也是Sonatype出品的一款开源工具,它基于Eclipse Public License-v.10开源许可证发布,用户可以免费下载并使 ...

  3. Elasticsearch 思维导图集锦(持续更新...)

    目录 引言 思维导图 全文搜索 Elastic 基础 Query DSL Multi Match Query 系列文章列表 参考 引言 本文主要是对 elasticsearch 的一些知识点使用思维导 ...

  4. 面试 16:栈的压入压出队列(剑指 Offer 第 22 题)

    我们今天继续来看看周五留下的习题: 面试题:输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如:压入序列为{1,2,3,4,5},那{ ...

  5. 【C#复习总结】多线程编程

    1 基本概念 前一篇文章做了铺垫,详见:http://www.cnblogs.com/mhq-martin/p/9035640.html 2 多线程 多线程的优点:可以同时完成多个任务:可以使程序的响 ...

  6. js实现活动倒计时

    let startTime = 1527647143949; // 开始时间 var time = new Countdown('timer',startTime); function Countdo ...

  7. Cat8 八类网线是什么?与Cat5、Cat6、Cat7网线的区别?

    若您身处于网络通信行业,相信您应该了解一些以太网线缆,比如说超五类网线.六类网线和七类网线等等.但是您知道Cat8 八类网线 是什么吗?它与五类网线.六类/超六类网线及七类/超七类网线有着怎么样的区别 ...

  8. eclipes个人配置

    设置字体:https://jingyan.baidu.com/article/f96699bb9442f3894e3c1b15.html general->appearance->colo ...

  9. PS调出唯美冷色情侣婚纱写真照

    一.打开PS原片,原片是一张JPG格式的片子 色温较高整个画面较红离对着上面的我们标准的韩式色调我们来进行调节吧 ,我就不打太多文字解释一些基本常规了 二.韩式婚纱内景喜欢加点烟雾.其实我本人是不太喜 ...

  10. Eclipse启动错误JVM terminated. exit code 1解决方法

    现象: 前一天eclipse还用得好好的,但今天就不能用了,怎么回事? 解决方案: 请先参考其它网络资料:http://www.baidu.com/s?wd=eclipse+jvm+terminate ...