hdu 5492
动态规划
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<time.h>
using namespace std;
#define inf 0x3f3f3f3f
int V[][],dp[][][];
int min(int a,int b){
return a<b?a:b;
}
int main()
{
freopen("input4.txt","r",stdin);
freopen("output.txt","w",stdout);
int start=clock();//从这开始计时
int ca=,T,i,j,k,n,m;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
for(i=;i<n;++i)
for(j=;j<m;++j) scanf("%d",&V[i][j]);
printf("Case #%d: ",ca++);
memset(dp,inf,sizeof(dp));
dp[][][V[][]]=V[][]*V[][];
for(i=;i<n;++i)
for(j=;j<m;++j)
{
if(i+<n){
for(k=;k<=*;++k)
if(dp[i][j][k]!=inf)
dp[i+][j][k+V[i+][j]]=min(dp[i+][j][k+V[i+][j]],dp[i][j][k]+V[i+][j]*V[i+][j]);
}
if(j+<m){
for(k=;k<=*;++k)
if(dp[i][j][k]!=inf)
dp[i][j+][k+V[i][j+]]=min(dp[i][j+][k+V[i][j+]],dp[i][j][k]+V[i][j+]*V[i][j+]);
}
}
int ans=inf;
for(i=;i<=*;++i)
if(dp[n-][m-][i]!=inf)
ans=min(ans,(n+m-)*dp[n-][m-][i]-i*i);
printf("%d\n",ans);
}
int end=clock();//到这结束
printf("%d ms\n",end-start);//算出来的单位是毫秒
return ;
}
#include<stdio.h>
#include<string.h>
#define inf 0x3f3f3f3f
int dp[][][];
int v[][];
int min(int a,int b){
return a<b?a:b;
}
int main(){
int t,n,m,cur=,i,j,k;
//freopen("input4.txt","r",stdin);
//freopen("output.txt","w",stdout);
scanf("%d",&t);
while(t--){
printf("Case #%d: ",cur++);
scanf("%d %d",&n,&m);
for(i=;i<=n;i++){
for(j=;j<=m;j++)
scanf("%d",&v[i][j]);
}
memset(dp,inf,sizeof(dp));
dp[][][v[][]]=v[][]*v[][];
for(i=;i<=n;i++){
for(j=;j<=m;j++){
if(j+<=m){//向右
for(k=;k<=*;k++){
if(dp[i][j][k]!=inf)
dp[i][j+][k+v[i][j+]]=min(dp[i][j+][k+v[i][j+]],dp[i][j][k]+v[i][j+]*v[i][j+]);
}
}
if(i+<=n){//向下
for(k=;k<=*;k++){
if(dp[i][j][k]!=inf)
dp[i+][j][k+v[i+][j]]=min(dp[i+][j][k+v[i+][j]],dp[i][j][k]+v[i+][j]*v[i+][j]);
}
} }
}
int ans=inf;
for(i=;i<=*;i++){
if(dp[n][m][i]!=inf)
ans=min(ans,(n+m-)*dp[n][m][i]-i*i);
}
printf("%d\n",ans); }
return ;
}
hdu 5492的更多相关文章
- 2015合肥网络赛 HDU 5492 Find a path 动归
HDU 5492 Find a path 题意:给你一个矩阵求一个路径使得 最小. 思路: 方法一:数据特别小,直接枚举权值和(n + m - 1) * aver,更新答案. 方法二:用f[i][j] ...
- 【动态规划】HDU 5492 Find a path (2015 ACM/ICPC Asia Regional Hefei Online)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5492 题目大意: 一个N*M的矩阵,一个人从(1,1)走到(N,M),每次只能向下或向右走.求(N+ ...
- HDU 5492(DP) Find a path
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5492 题目大意是有一个矩阵,从左上角走到右下角,每次能向右或者向下,把经过的数字记下来,找出一条路径是 ...
- HDU 5492 Find a path
Find a path Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID ...
- hdu 5492 Find a path(dp+少量数学)2015 ACM/ICPC Asia Regional Hefei Online
题意: 给出一个n*m的地图,要求从左上角(0, 0)走到右下角(n-1, m-1). 地图中每个格子中有一个值.然后根据这些值求出一个最小值. 这个最小值要这么求—— 这是我们从起点走到终点的路径, ...
- hdu 5492 (暴力+nice)
题意:在矩阵中,找一条路从 (1,1)->(n,m),使方差最小 思路: T = (N+M−1)∑N+M−1i=1(Ai−Aavg)2 将N + M - 1乘进去,即求1 ~ N+M-1,(N ...
- Find a path HDU - 5492 (dp)
Find a path Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- HDU - 5492 Find a path(方差公式+dp)
Find a path Frog fell into a maze. This maze is a rectangle containing NN rows and MM columns. Each ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
随机推荐
- can not import Flask错误
在学习flask官方文档——应用构建代码时,遇到了一个小问题照例子敲好代码以后出现了can not import Flask错误,思考很久也没有解决,最后发现是因为应用模块和flask重名了.下面是 ...
- ecshop商品-》购买记录
注意事项:{insert name='bought_notes' id=$id} 有了产品ID一切都好说 html代码 <!-- #BeginLibraryItem "/libra ...
- js变量在属性里的写法 常用mark 多个DL遍历添加一个父级DIV
标记用 js变量比如url链接一般都是a里面的href属性值 在js里单引号链接 以后再忘记就能有地方找了 例子: /* 添加1200 居中div 包裹 获取元素集合 上层元素100% * @ele ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Criteria 和 DetachedCriteria的区别与使用
Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的:而 DetachedC ...
- @SuppressWarnings的使用、作用、用法
在java编译过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上 @SuppressWarnings(“XXXX”) 来解决 例如:@S ...
- _SYS_LIB="-lm -lnsl -ldl"
-lm 是指连接libm.so 意思是连接数学库, -lnsl 如果涉及RPC编程,必然需要libnsl.so,因此必须在编译选项里加入 -lnsl. gcc 编译选项 -L是要 ...
- iframe和frameset的使用
iframe是:inner frame的缩写, 必须指明src属性,不能直接在里面写内容, 否则不会显示. 可以载入html, *.图片文件, txt文件等等. html的属性中,表示长度高度的尺寸属 ...
- yaf自动加载文件
models下面的文件 例如:Article.php 类名必须是:ArticleModel 调用时:$article_models = new ArticleModel(); library下面的文件 ...
- .ssh/config简单使用
转自:http://blog.lizhigang.net/archives/265 .ssh/config简单使用 需求: 工作的电脑经常会存储不同的key,并且使用不同的用户登录linux系统.如 ...