题面

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. WebBench压力测试工具(详细源码注释+分析)

    本文适合人群:对WebBench实现感兴趣的人 WebBench原理: Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程在测试时间内不断发送请求报文,建立多个连接,然后由父 ...

  2. python调用数据返回字典dict数据的现象2

    python调用数据返回字典dict数据的现象2 思考: 话题1连接:https://www.cnblogs.com/zwgbk/p/10248479.html在打印和添加时候加上内存地址id(),可 ...

  3. Java发送Email邮件及SpringBoot集成

    一:普通方式发送 1.导包 <!--Java MAil 发送邮件API--> <dependency> <groupId>javax.mail</groupI ...

  4. 企业IT架构转型之道,阿里巴巴中台战略思想与架构实战

    前言: 晚上11点多闲来无事,打开QQ技术群,发现有关 '中心化与引擎化' 的话题,本着学习的心态向大佬咨询,大佬推荐一本书,我大概看了有四分之一的样子,对于我这种对架构迷茫的人来说,如鱼得水,于是特 ...

  5. 使用protostuff自定义编解码器优化springcloud-feign性能

    前言 Spring Cloud feign是伪RPC方式解决微服务间的调用.翻看FeignCloudFeign源码,可以看到Feign默认使用HttpUrlConnection; 代码在Default ...

  6. Latex(数学)

    目录 字体 罗马字体 \mathrm{} 斜体 \mathit{} 粗体 \mathbf{} 无衬线-f \mathsf{} 打字机字体 \mathtt{} 书法字体 \mathcal{} 黑板粗体 ...

  7. 2017湘潭大学邀请赛E题(贪心)

    链接:https://www.icpc.camp/contests/4mYguiUR8k0GKE Partial Sum Input The input contains zero or more t ...

  8. 阿里字体css代码引入方法

    1.第一步,选择自己想要的图标字体,添加入库. 2.选择下载代码. 3.我们可以发现,有如下的代码被下载下来了. 4.我们选择iconfont.css放到自己的文件夹中. 5.然后我们根据下载下来ht ...

  9. RabbitMQ防止消息丢失

    转载请注明出处 0.目录 RabbitMQ-从基础到实战(1)— Hello RabbitMQ RabbitMQ-从基础到实战(3)— 消息的交换 1.简介 RabbitMQ中,消息丢失可以简单的分为 ...

  10. PHP之CLI模式

    转载: http://www.cnblogs.com/zcy_soft/archive/2011/12/10/2283437.html 所有的PHP发行版,不论是编译自源代码的版本还是预创建的版本,都 ...