博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【洛谷P2258】子矩阵
阅读量:4987 次
发布时间:2019-06-12

本文共 832 字,大约阅读时间需要 2 分钟。

子矩阵

搜索枚举选了哪几行,将DP降为一个一维的问题,

先预处理出w[i]表示该列上下元素差的绝对值之和

v[i][j]为第i列和第j列对应元素之差的绝对值之和

f[i][j]表示前j列中选i列,且最后一列为j的最小消耗

f[i][j]=min(f[i][j],f[i-1][j-k]+v[j-k][j]+w[j]);

#include
#include
#include
#include
using namespace std;#define reset(a) memset(a,0,sizeof(a))#define _reset(a) memset(a,127,sizeof(a))#define N 17int n,m,r,c,a[N][N],ans=0x3f3f3f3f;int f[N][N],w[N],v[N][N],path[N];inline int read(){ int x=0; char c=getchar(); while(c<'0'||c>'9') c=getchar(); while('0'<=c&&c<='9') { x=(x<<3)+(x<<1)+c-'0'; c=getchar(); } return x;}void dp(){ reset(w); reset(v); _reset(f); for(int i=1;i<=m;i++) for(int j=2;j<=r;j++) w[i]+=abs(a[path[j]][i]-a[path[j-1]][i]); for(int i=1;i

 

转载于:https://www.cnblogs.com/yjkhhh/p/9415937.html

你可能感兴趣的文章
CCF201803-3-URL映射
查看>>
.NET程序开发中必须收藏的七个类型的经典工具
查看>>
Springboot重构-云笔记(2)
查看>>
数据库语句备份
查看>>
在对象之间搬移特性(读书摘要——重构改善既有代码的设计)
查看>>
OperService.class.php
查看>>
收藏:Windows消息机制
查看>>
《InsideUE4》UObject(四)类型系统代码生成
查看>>
jQuery对表格进行类样式
查看>>
严重: Exception starting filter struts2 Unable to load configuration. - action -
查看>>
[吃药深度学习随笔] 损失函数
查看>>
java框架--spring+stutrs2+mybatis整合
查看>>
Sliverlight调用Rest服务的一点思考和实践
查看>>
javac后命令行出现乱码
查看>>
使用bat文件打开和关闭本地exe
查看>>
步步为营-85-注册信息验证
查看>>
redis——django使用管道实现事务操作
查看>>
git在terminal中自动补全
查看>>
ASP.NET 后台页面无法识别服务器控件ID
查看>>
js关于变量作为if条件的真假问题
查看>>