题意:给了一个 n * n 的方格图,要从图的左上角走到右下角 ,每次只能向右或者向下走,走的格数为当前格子上的数字,问共有多少中走法。

一开始我看到之后觉得这题完全可以用记忆化搜索来做,dfs 一遍就能找出所有解,这是因为刚刚不久才做过那道记忆化搜索的题目,我用 dp + dfs 敲了一遍之后作死提交,果断AC```怎么可能想想都知道```TLE了,恩其实题目底下就有提示说是遍历所有的路可能会超时,但是我英语不好 orz 。

但事实上即使没有这个提示我也本就应该先考虑普通 DP ,因为上次的记忆化搜索是因为那张图是可以往上下左右四个方向走的,所以普通的顺序 dp 就会面临更新完别的格子之后自己又要更新的情况,但是这次只有向右和向下,所以完全应该第一个想到顺序 dp 的,这是我自己想复杂的,当然也要归咎于我对 dp 和记忆化搜索理解的还不够到位吧。

那么顺序的 dp 其实就非常简单了,dp [ i ] [ j ] 表示走到第( i , j )格的走法数, dp [ 1 ] [ 1 ] 是开始位置,所以标记为 1 ,之后依次遍历每一个点,如果该点 dp 值不为 0 ,即该点可以被走到 ,那么就根据它格子上的数字优化能从这个格点到达的格子的 dp 值。当然,要注意的是当格点数字为 0 的时候就不要对自己进行更新了,因为这样若右下角格子的数字是 0 的话,它就会连续优化自己,与其特判还不如一开始就不操作。优化方式就是将能到达的格点的 dp 值加上当前点的 dp 值。

 #include<stdio.h>
#include<string.h>
int a[][];
long long dp[][];
int xx[]={,};
int yy[]={,};
int main(){
int n;
while(scanf("%d",&n)!=EOF&&n!=-){
getchar();
memset(dp,,sizeof(dp));
int i,j;
dp[][]=;
for(i=;i<=n;i++){
for(j=;j<=n;j++){
char m;
scanf("%c",&m);
a[i][j]=m-'';
if(a[i][j]){
if(dp[i][j]){
int dx=i+a[i][j]*xx[],dy=j+a[i][j]*yy[];
if(dx<=n&&dy<=n)dp[dx][dy]+=dp[i][j];
dx=i+a[i][j]*xx[];dy=j+a[i][j]*yy[];
if(dx<=n&&dy<=n)dp[dx][dy]+=dp[i][j];
}
}
}
getchar();
}
/* for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
printf("%d ",dp[i][j]);
}
printf("\n");
}*/
printf("%I64d\n",dp[n][n]);
}
return ;
}

hdu1208 dp的更多相关文章

  1. HDU1208:Pascal's Travels(DP)

    Problem Description An n x n game board is populated with integers, one nonnegative integer per squa ...

  2. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Statu ...

  3. 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...

  4. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  5. AEAI DP V3.6.0 升级说明,开源综合应用开发平台

    AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...

  6. BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]

    1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit] ...

  7. [斜率优化DP]【学习笔记】【更新中】

    参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...

  8. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  9. px、dp和sp,这些单位有什么区别?

    DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...

随机推荐

  1. CAS-自旋锁

    自旋锁 自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环.  获取锁的线程一直处于 ...

  2. openshift harp.js heroku react-router 4

    https://segmentfault.com/a/1190000000355181 http://harpjs.com/ https://www.jianshu.com/p/7bc34e56fa3 ...

  3. spring boot 2.0 + 静态资源被拦截,怎么办?

    问题描述:使用springboot 2.0后,按照springboot 1.5版本(以下简称旧版)的方式去配置项目.结果发现静态资源访问不到了,本文对此情况分析.处理 项目结构: 直接上图 如果是在旧 ...

  4. android--------阿里 AndFix 热修复

    AndFix,全称是Android hot-fix.是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug. 支持Android 2.3 到 6.0,并且支持arm 与 X86 ...

  5. Confluence 6 导入 Active Directory 服务器证书 - Mac OS X

    为了让你的应用服务器能够信任你的目录服务器.你目录服务器上导出的证书需要导入到你应用服务器的 Java 运行环境中.JDK 存储了信任的证书,这个存储信任证书的文件称为一个 keystore.默认的 ...

  6. 54. 59. Spiral Matrix

    1. Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral ...

  7. OC 设计模式

    设计模式 一种或几种被所有程序员广泛认同的,有某些特定功能,或者实现某些特殊作用的编码格式 单例模式 键值编码(KVC) 键值观察(KVO) 观察者模式() 工厂模式(工厂方法) ps:MVC &am ...

  8. vue-cli的安装及使用

    一.    node 和npm 1.在安装vue-cli前,要确认自己的电脑是否安装了node和npm 2.查询版本如下(vue脚手架支持node@4.xx以上) node -v    查询node版 ...

  9. memory prefix un,under,uni out1

    1● un 不 非,无 打开 ,解开 ,开出     2● under ʌnd ə 向下,副 的,不足的   3● uni   单一 ,单  

  10. 导出cnblogs文章

    导出cnblogs文章 网址  http://download.csdn.net/download/zlj1817/9001869 下载