题意:给一个矩阵。从上到下一样,(题目里说的是从下到上,但是其实一样)代码里面就是从上到下考虑。

每一行到下一行都只有三个选择,左下,下,右下。

所以转移方程为:

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相关推荐

  1. .NET框架之“小马过河”

    .NET框架之"小马过河" 有许多流行的 .NET框架,大家都觉得挺"重",认为很麻烦,重量级,不如其它"轻量级"框架,从而不愿意使用.面对 ...

  2. PonyAI进军自动驾驶货运,乘用无人车历史性“小马过河”

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 如何评价小马智行正式进军无人驾驶货运? 在上海车展现场,PonyAI的两位创始人彭军楼天城,带来了这项重要的创业新进展. 彭军说,内部一支 ...

  3. 牛客小白月赛2 B.小马过河

    牛客小白月赛2 B.小马过河 题目链接 题目描述 E t e ˊ r e o \mathrm{Et\acute{e}reo} Eteˊreo 开始涉猎几何领域了.他现在正在研究小马喝水问题. 众所周知 ...

  4. 我像“小马过河”一样升级了我的开源系统

    爆肝5千字实践出来的干货经验,希望对大家有帮助. 前言 我在升级之前做了比较充分的准备工作,深入研究了GoFrame V2新特性才决定升级的,并且总结了一篇文章:# 站在开发者的角度理解框架的设计思想 ...

  5. JavaScript的for循环语句练习之解决小马过河的问题

    JavaScript的for循环语句练习之解决小马过河的问题 上篇文章我们说了怎么计算数学问题鸡兔同笼,这边文章咱们来说一下稍微再加大写难度的问题,小马过河.问题是现在有一群马,大马可以驮2石粮食,中 ...

  6. 【连载】小马过河 —— Angular 学起来难吗?

    Angular 学起来难吗? 答案是:不知道.准确的说应该是 "因人而异".我曾经说过:任何卖包治百病的大力丸的都是骗子,任何逢人就说一项技术很简单的也是骗子 -- 你连对方的技术 ...

  7. 第十三届蓝桥杯省赛真题2022年4月23日 第四题答案及解析 小马过河搬货物方案

    第四题 又又如约而至,上题目: 编程实现: 小马需要将N件物品从河的一岸搬运到河的另一岸,每次搬运的物品为1到3件.请问小马将N件物品全部搬运过去有多少种方案.例如:N=3,将3件物品全部搬运过去有4 ...

  8. 百鬼夜行第一章:小马过河

    暂时还没想好写什么,就直接把总结的一些东西从笔记里面复制过来吧,有错误的地方还望指正. 先说下我对STL的理解,STL简单点说就是对复杂数据结构的包装,省去了一些造轮子的功夫,有句话说的不错,不仅有造 ...

  9. 牛客小白月赛2-B小马过河(求点到直线的垂足)

    题目链接 求点到直线的垂足分为 空间 .平面 原理: 空间: #include<iostream> #include<cmath> using namespace std; c ...

最新文章

  1. Database之SQLSever:T-SQL数据语言操作(数据定义语句DDL、数据操作语句DML、数据控制语句DCL、其他基本语句、流程控制语句、批处理语句)概念及其相关案例之详细攻略
  2. gprof 使用例程(转)
  3. linux制作openssl rpm,CentOS 7 定制 OpenSSL RPM 包
  4. 移动端前端常见的触摸相关事件touch、tap、swipe等整理
  5. 机器阅读理解中文章和问题的深度学习表示方法
  6. HTTP状态码:400\500 错误代码
  7. android 锁屏 home,android 锁屏界面禁用长按home 和menu(recent apps)
  8. php开发电商项目的技术,[项目实战] php电商开发基本功课程 电商后台实战开发视频教程 共6章...
  9. python字符串相关习题
  10. java.util.concurrent 学习(一)
  11. 微信支付金额为0.01分报错,和少一分钱的解决办法
  12. sql 常见查询代码操作
  13. js获取当前页面url信息
  14. MATLAB画qpsk的矢量图,matlab仿真QPSK.doc
  15. 二氧化硫填料吸收塔实验装置QY-HJGC06
  16. Beyond compare4激活使用
  17. 云服务器搭建青龙面板每日自动拿京豆
  18. Origin: 双Y轴 | 柱状图 | 折线图 | 垂线散点图的结合绘制
  19. 国际象棋AI(三)---评估
  20. window中关于端口被占用的解决443 failed: port is already allocat

热门文章

  1. mysql怎么样_mysql怎么样
  2. 暑假N天乐 —— 多重+分组背包及变形
  3. vue dayjs 构造日历组件
  4. 服务器端控件TextBox 设为只读属性后无法获取javascript给其赋的值
  5. mysql left join计算数量_Mysql-多个left join 计算逻辑
  6. 2021-08-20【JVM系列-2】 GC垃圾回收
  7. 优秀的开源项目一览(持续更新中...)
  8. 利用Eviews进行格兰杰因果检验
  9. iis常见漏洞(中间件常见漏洞)
  10. 从 Spring Cloud 看一个微服务框架的五脏六腑