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 ...
随机推荐
- BigDecimal类
如果需要精确的计算结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作. //========================================== ...
- CSS实时编辑显示
方法 CSS实时编辑显示:通过display:block让css文本显示出来,再加上contentEditable使文本可编辑 <!DOCTYPE html> <html> & ...
- C#----Get和Set在属性中的使用
Get和Set在属性中的作用: 第一个作用:保证数据的安全性,对字段进行了有效的保护. 第二个作用:起到监视作用 private int width=0; public int Width { get ...
- 2015 前端[JS]工程师必知必会
2015 前端[JS]工程师必知必会 本文摘自:http://zhuanlan.zhihu.com/FrontendMagazine/20002850 ,因为好东东西暂时没看懂,所以暂时保留下来,供以 ...
- Python 之匿名函数和偏函数
匿名函数与偏函数 匿名函数 Python允许使用lambda关键字创造匿名函数,lambda表达式用于定义匿名函数,它返回可调用的函数对象,语法如下: lambda arg1, arg2, … : e ...
- jQuery简单实现iframe的高度根据页面内容自适应的方法
同域下: //注意:下面的代码是放在和iframe同一个页面中调用 $("#myiframe").load(function () { var myiframeH = $(this ...
- JavaScript 面向对象程序设计(下)——继承与多态 【转】
JavaScript 面向对象程序设计(下)--继承与多态 前面我们讨论了如何在 JavaScript 语言中实现对私有实例成员.公有实例成员.私有静态成员.公有静态成员和静态类的封装.这次我们来讨论 ...
- [设计模式] javascript 之 桥接模式
桥接模式说明 定义:分离抽象化与实现化,使之可以自由独立的变化: 说明:由于软件环境需求原因,使得类型抽象具有多种实现以自身变化定义等情况,这使得我们要分离抽象实现与具体实现,使得抽象化与实现化解耦, ...
- 【CISP笔记】安全攻击与防护
公开信息收集-搜索引擎 快速定位Google 搜索“5sf67.jsp”可以找到存在此脚本的Web网站Google 搜索“teweb/default.htm”就可找到开放着远程Web连接的服务器信息挖 ...
- linq和lanmbda表达式比较解析