BOJ1293 小马过河 dp
题意:给一个矩阵。从上到下一样,(题目里说的是从下到上,但是其实一样)代码里面就是从上到下考虑。
每一行到下一行都只有三个选择,左下,下,右下。
所以转移方程为:
dp[i][j]=min(dp[i-1][j-1],dp[i-1][j],dp[i-1][j+1])+w[i][j];
因为dp还很不熟练。
刚看到题目的时候其实第一反应是类似广搜的去模拟一下差不多,反正每一格只会影响下一行的三格。
然后写的时候就注意到了其实就是dp。
#include<iostream>
#define min(a,b) (a<b?a:b)
using namespace std;
const int N=1005;
int n,m;
int mat[N][N];
unsigned int dp[N][N];
void bfs(int ii,int jj)
{for(int j=jj-1;j<=jj+1;j++){if(j>=1&&j<=m){dp[ii+1][j]=min(dp[ii][jj]+mat[ii+1][j],dp[ii+1][j]);}}
}
void solve()
{memset(dp,-1,sizeof(dp));for(int j=1;j<=m;j++)dp[1][j]=mat[1][j];for(int i=1;i<=n-1;i++)for(int j=1;j<=m;j++)bfs(i,j);int ans=(1<<30);for(int j=1;j<=m;j++)ans=min(dp[n][j],ans);printf("%d\n",ans);
}
int main()
{while(scanf("%d%d",&n,&m),n!=0||m!=0){memset(mat,0,sizeof(mat));for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){scanf("%d",&mat[i][j]);}solve();}
}
BOJ1293 小马过河 dp相关推荐
- .NET框架之“小马过河”
.NET框架之"小马过河" 有许多流行的 .NET框架,大家都觉得挺"重",认为很麻烦,重量级,不如其它"轻量级"框架,从而不愿意使用.面对 ...
- PonyAI进军自动驾驶货运,乘用无人车历史性“小马过河”
李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI 如何评价小马智行正式进军无人驾驶货运? 在上海车展现场,PonyAI的两位创始人彭军楼天城,带来了这项重要的创业新进展. 彭军说,内部一支 ...
- 牛客小白月赛2 B.小马过河
牛客小白月赛2 B.小马过河 题目链接 题目描述 E t e ˊ r e o \mathrm{Et\acute{e}reo} Eteˊreo 开始涉猎几何领域了.他现在正在研究小马喝水问题. 众所周知 ...
- 我像“小马过河”一样升级了我的开源系统
爆肝5千字实践出来的干货经验,希望对大家有帮助. 前言 我在升级之前做了比较充分的准备工作,深入研究了GoFrame V2新特性才决定升级的,并且总结了一篇文章:# 站在开发者的角度理解框架的设计思想 ...
- JavaScript的for循环语句练习之解决小马过河的问题
JavaScript的for循环语句练习之解决小马过河的问题 上篇文章我们说了怎么计算数学问题鸡兔同笼,这边文章咱们来说一下稍微再加大写难度的问题,小马过河.问题是现在有一群马,大马可以驮2石粮食,中 ...
- 【连载】小马过河 —— Angular 学起来难吗?
Angular 学起来难吗? 答案是:不知道.准确的说应该是 "因人而异".我曾经说过:任何卖包治百病的大力丸的都是骗子,任何逢人就说一项技术很简单的也是骗子 -- 你连对方的技术 ...
- 第十三届蓝桥杯省赛真题2022年4月23日 第四题答案及解析 小马过河搬货物方案
第四题 又又如约而至,上题目: 编程实现: 小马需要将N件物品从河的一岸搬运到河的另一岸,每次搬运的物品为1到3件.请问小马将N件物品全部搬运过去有多少种方案.例如:N=3,将3件物品全部搬运过去有4 ...
- 百鬼夜行第一章:小马过河
暂时还没想好写什么,就直接把总结的一些东西从笔记里面复制过来吧,有错误的地方还望指正. 先说下我对STL的理解,STL简单点说就是对复杂数据结构的包装,省去了一些造轮子的功夫,有句话说的不错,不仅有造 ...
- 牛客小白月赛2-B小马过河(求点到直线的垂足)
题目链接 求点到直线的垂足分为 空间 .平面 原理: 空间: #include<iostream> #include<cmath> using namespace std; c ...
最新文章
- Database之SQLSever:T-SQL数据语言操作(数据定义语句DDL、数据操作语句DML、数据控制语句DCL、其他基本语句、流程控制语句、批处理语句)概念及其相关案例之详细攻略
- gprof 使用例程(转)
- linux制作openssl rpm,CentOS 7 定制 OpenSSL RPM 包
- 移动端前端常见的触摸相关事件touch、tap、swipe等整理
- 机器阅读理解中文章和问题的深度学习表示方法
- HTTP状态码:400\500 错误代码
- android 锁屏 home,android 锁屏界面禁用长按home 和menu(recent apps)
- php开发电商项目的技术,[项目实战] php电商开发基本功课程 电商后台实战开发视频教程 共6章...
- python字符串相关习题
- java.util.concurrent 学习(一)
- 微信支付金额为0.01分报错,和少一分钱的解决办法
- sql 常见查询代码操作
- js获取当前页面url信息
- MATLAB画qpsk的矢量图,matlab仿真QPSK.doc
- 二氧化硫填料吸收塔实验装置QY-HJGC06
- Beyond compare4激活使用
- 云服务器搭建青龙面板每日自动拿京豆
- Origin: 双Y轴 | 柱状图 | 折线图 | 垂线散点图的结合绘制
- 国际象棋AI(三)---评估
- window中关于端口被占用的解决443 failed: port is already allocat