设为首页 加入收藏

TOP

hdu-1078 FatMouse and Cheese(记忆化搜索)
2015-07-20 17:38:49 来源: 作者: 【 】 浏览:3
Tags:hdu-1078 FatMouse and Cheese 记忆 搜索

?

题意:老鼠在n*n的每个方格上放置了奶酪,初始位置在(0,0),每次只能移动小于等于k的位置,并且移动后的位置的奶酪数要比当前位置的奶酪数多,问老鼠能得到的最多奶酪数是多少。

思路:典型的记忆化搜索,记忆化搜索=搜索的形式+dp的思想, 记忆化搜索的思想是,在搜索过程中,会有很多重复计算,如果我们能记录一些状态的答案,就可以减少重复搜索量

记忆化搜索是类似于动态规划的,不同的是,它是倒做的“递归式动态规划”。所以只要另外开一个数组表示当前点能达到的最优解,dp[i][j]=map[i][j]+max,

#include
  
   
#define max(a,b) (a>b?a:b)
#define N 101
int map[N][N],h[N][N],n,k;
int dir[4][2]={-1,0,0,1,0,-1,1,0};

bool check(int x,int y)
{
    if(x>=0&&x
   
    =0&&y
    
     t) { cnt=dfs(xx,yy); sum=max(sum,cnt); } } } return h[x][y]=map[x][y]+sum; } int main() { while(scanf(%d%d,&n,&k)!=EOF&&n!=-1&&k!=-1) { for(int i=0;i
     
      

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU5024Wang Xifeng's Little.. 下一篇HDU - 1565 方格取数(1) (DP)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·「链表」是一种怎样 (2025-12-25 19:20:51)
·C 语言中的链表有哪 (2025-12-25 19:20:48)
·c语言中的链表怎么学 (2025-12-25 19:20:45)
·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)