20140816题目小节
2016-03-15 13:06
387 查看
A.
关于DP,值得一学,好好思考一下递推过程
加油!
题目大意:从(0,0)走到(n,m)只能向右或者向下,初始有能量1,到达某一点要保证加完权值之后大于0,求还需添加最小能量为多少
//Magic Grid
分析:可以用光搜,也可以DP
代码:
关于DP,值得一学,好好思考一下递推过程
加油!
题目大意:从(0,0)走到(n,m)只能向右或者向下,初始有能量1,到达某一点要保证加完权值之后大于0,求还需添加最小能量为多少
//Magic Grid
分析:可以用光搜,也可以DP
代码:
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; const int maxn = 500+10; const int inf = 99999; int T, r, c, ans; int f[maxn][maxn], s[maxn][maxn]; int dp(int x, int y) { if(x > r || y > c) return inf; if(f[x][y] != inf) return f[x][y]; return f[x][y] = min(max(dp(x+1, y)-s[x][y], 1), max(dp(x, y+1)-s[x][y], 1)); } int main() { cin >> T; while(T--) { cin >> r >> c; for(int i = 1; i <= r; i++) for(int j = 1; j <= c; j++) f[i][j] = inf; f[r][c] = 1; for(int i = 1; i <= r; i++) for(int j = 1; j <= c; j++) scanf("%d", s[i][j]); cout << dp(1, 1) << endl; } return 0; }
相关文章推荐
- salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
- わけ
- 227. Basic Calculator II
- JSP中播放提示声音
- map 详细用法(常看看哦)
- C++中Vector的erase()操作以及与remove的区别
- 二叉树, 二叉查找树,二分查找算法
- 一句话总结java23种设计模式
- ScrollView反弹效果 仿小米私密短信效果
- 使用jquer获取当前时间,并赋值到input上。
- ES6之6种遍历对象属性的方法
- CentOS 6 时间,时区,设置修改及时间同步
- Handler消息机制实现更新主UI
- 如何视觉隐藏网页内容,只让它们在屏幕阅读器中可用?
- object-c 随机数总结
- SQL语句总结(视图,序列,存储过程,函数,游标)
- SSCANF这才是我想要的。。
- ASP.net MVC 网站发布 navbar 背景图片丢失 ArcGIS Web 开发学习(五)
- POJ 2299 线段树求逆序数
- 有关Intel主板驱动静默安装的一个坑