题目传送门

 1 /*
 2     记忆化搜索(DFS+DP):dp[x][y] 表示x个蛋,在y楼扔后所需要的实验次数
 3         ans = min (ans, max (dp[x][y-i], dp[x-1][i-1]) + 1);前者表示蛋没碎,则往高处(y-i)搜索
 4             后者表示蛋碎了,往低处(i-1)方向搜索
 5     这样写不好,每次memset (dp)就会超时:(
 6     详细解释:http://blog.csdn.net/fulongxu/article/details/27110435
 7 */
 8 #include <cstdio>
 9 #include <iostream>
10 #include <algorithm>
11 #include <cstring>
12 #include <cmath>
13 using namespace std;
14
15 const int MAXN = 1e3 + 10;
16 const int INF = 0x3f3f3f3f;
17 int dp[11][MAXN];
18
19 int DFS(int x, int y)
20 {
21     if (dp[x][y])    return dp[x][y];
22     if (x == 1)    {dp[x][y] = y;    return y;}
23     if (y <= 2)    {dp[x][y] = y;    return y;}
24
25     int ans = INF;
26     for (int i=2; i<y; ++i)
27     {
28         int tmp = max (DFS (x, y-i) + 1, DFS (x-1, i-1) + 1);
29         ans = min (ans, tmp);
30     }
31
32     return dp[x][y] = ans;
33 }
34
35 int main(void)        //URAL 1223 Chernobyl’ Eagle on a Roof
36 {
37     //freopen ("Z.in", "r", stdin);
38
39     int n, m;
40     while (scanf ("%d%d", &n, &m) == 2)
41     {
42         if (!n && !m)    break;
43         if (n > 10)    n = 10;
44
45         printf ("%d\n", DFS (n, m));
46     }
47
48     return 0;
49 }

转载于:https://www.cnblogs.com/Running-Time/p/4497677.html

记忆化搜索(DFS+DP) URAL 1223 Chernobyl’ Eagle on a Roof相关推荐

  1. BZOJ1415[Noi2005]聪聪和可可——记忆化搜索+期望dp

    题目描述 输入 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数. 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号. 接下来E行 ...

  2. POJ 2111 Millenium Leapcow(记忆化搜索+dfs记录路径)

    题目链接 思路 对N*N网格中所有点进行搜索(dfs),搜索过程中对每一步进行记忆化存储,即dp数组保存从当前点开始可获得的最高得分,若后面需要用到前面计算过的数据,直接读取dp数组即可. dp[i] ...

  3. 【POJ - 1661】Help Jimmy(记忆化搜索,dp)

    题干: Help Jimmy" 是在下图所示的场景上完成的游戏. 场景中包括多个长度和高度各不相同的平台.地面是最低的平台,高度为零,长度无限. Jimmy老鼠在时刻0从高于所有平台的某处开 ...

  4. jzoj6451-[2020.01.19NOIP提高组]不幸运数字【记忆化搜索,数位dp,高精度】

    正题 题目链接:https://jzoj.net/senior/#main/show/6451 题目大意 给出a,ba,ba,b,求[a,b][a,b][a,b]这个区间中有多少数字包含444. 解题 ...

  5. 1223. Chernobyl’ Eagle on a Roof(dp)poj3783

    经典DP n个鹰蛋 m层楼 刚开始是二分想法 不过当数小于二分的那个值 貌似没发判断 dp[i][j] = min(dp[i][j],max(dp[i-1][k-1],dp[i][j-k]) 选择第k ...

  6. 【DP】【记忆化搜索】NIKOLA(jzoj 1150)

    NIKOLA 题目大意: NIKOLA画了一排数字,他一开始在1,他可以往前跳T+1格(T为上一次跳到此格跳的格数),或往后T格(T一开始为0),但不能跳出界,没跳到一个格子,就要加上此格子的值(一开 ...

  7. UVA 1220 Party at Hali-Bula (树状DP+记忆化搜索)

    Dear Contestant, I'm going to have a party at my villa at Hali-Bula to celebrate my retirement from ...

  8. 棋盘分割(记忆化搜索)

    棋盘分割 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  9. [蓝桥杯][2014年第五届真题]地宫取宝(记忆化搜索)

    题目描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...

最新文章

  1. ASP.NET Core 2 学习笔记(七)路由
  2. JavaScript如何诞生
  3. python函数编程-偏函数partial function
  4. Android app内语言环境切换
  5. 【Castell】安全联锁提升UPS设备维护管理水平
  6. Hdu 3062. Party
  7. epoll机制:epoll_create、epoll_ctl、epoll_wait、close
  8. python输出结果空格分割_用Python编写固定宽度,以空格分隔的CSV输出
  9. 【原创】技术人员如何去面试?
  10. BZOJ3784树上的路径
  11. js继承实现 狗类继承动物类
  12. Reporting Services 4: Web Service
  13. [PKUSC2018游记]
  14. 安装好jdk后在cmd窗口输入Java 出现Error: could not open `D:\java2\lib\amd64\jvm.cfg'
  15. 控制系统分析与设计(一):控制系统分类及建模
  16. CISP-PTE考试介绍
  17. CG-62 压电式雨量传感器 工作原理 使用安装环境 高精度
  18. 常用笔记啊(持续更新)
  19. 敬业签:备忘录在手机哪里能找到?
  20. 人工智能内行盛会,错过再等一年!

热门文章

  1. 开课吧:深入了解C++和C语言的血缘关系
  2. 开课吧Java课堂:什么是ArrayList类
  3. 码农如何写好一封邮件/1
  4. 学习CSS中的BFC
  5. xcodebuild -exportArchive -allowProvisioningUpdates
  6. 发布一个练笔的 Android 阅读器,轻微仿91 Android 阅读器【后续将提供源码】
  7. Android OTA相关博文
  8. 使用Docker保护软件供应链安全
  9. 【转】Netty那点事(一)概述
  10. 微信公众平台回复音乐