在我的不懈努(爆)力(零)下,我把阿克曼函数的记忆化搜索用我的泥头车创出来了(啧),不过这个记忆化应该不是最优解(或者说仿?),31ms跑完小数据,说实话有点慢(确实),如果有大lao写出了正宗的记忆化搜索,,请赐教!评论或私信都行!

阿克曼(Arkmann)函数  A(m,n)A(m,n)  中,m与n的定义域是非负整数且本题中m<=3,n<=16。

函数的定义为:
$$akm(m,n)=\left\{
\begin{align}
&n+1 && (m=0)\\
&akm(m-1,1) && (m>0,n=0)\\
&akm(m-1,akm(m,n-1)) &&  (m>0,n>0)\\
\end{align}
\right.$$

Input

两个整数 m n

Output

一个整数,akm(m,n)的结果

Sample Input

1 1

Sample Output

3

Sponsor

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
ll m, n;//后面这些地方用int也没事,刚开始做题的时候我拿不准,用的ll
ll p[5][550000];//b的峰值在550000左右(试出来的,我的小笔记本连3,13都跑不动)
ll Ack(ll a, ll b) {//已经限定过非负整数了,注意a,b和m,n并不等价,只是调用了初始值if (p[a][b]) return p[a][b];if (a == 0) {p[a][b] = b + 1;//记忆化return b + 1;}else if (a > 0 && b == 0) {ll k = Ack(a - 1, 1);p[a][b] = k;return k;}else {ll k = Ack(a - 1, Ack(a, b - 1));p[a][b] = k;return k;}
}
int main() {ios::sync_with_stdio(false);cin.tie(0);cin >> m >> n;cout << Ack(m, n) << endl;
}

B - 阿克曼函数(记忆化搜索(啊呸))相关推荐

  1. 22.11.30打卡 记忆化搜索2水题

    Function Run Fun 记忆化搜索模板题, 个人认为比滑雪还简单 需要注意的只有当数组下标为负数的时候需要特判一下 其余直接照抄题目就能过了 /* ⣿⣿⣿⣿⣿⣿⡷⣯⢿⣿⣷⣻⢯⣿⡽⣻⢿⣿⣿⣿⣿ ...

  2. 数位dp 记忆化搜索java_hdu 5787 数位dp,记忆化搜索

    题意:求区间[l,r]内有多少个数符合,这个数的任意的相邻k位数(digits),这k个数都两两不相等 l,r范围是1~1e18,k是2~5 思路:数位DP,因为K<=5,我们最多需要保存下来当 ...

  3. 数据结构-记忆化搜索讲解

    算法:记忆化搜索算法 一:简述 记忆化搜索实际上是递归来实现的,但是递归的过程中有许多的结果是被反复计算的,这样会大大降低算法的执行效率. 而记忆化搜索是在递归的过程中,将已经计算出来的结果保存起来, ...

  4. 【记忆化搜索】P1464 Function

    https://www.luogu.com.cn/problem/P1464 考点:记忆化搜索.递归.map 题意: 按照题目要求写递归函数. 解法: 在函数开始时查看哈希表中是否已经有答案记录,如果 ...

  5. hdu1428(spfa与记忆化搜索)

    漫步校园 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. FatMouse and Cheese HDU - 1078(记忆化搜索入门模板)

    题意: n * n的正方形格子(每个格子均放了奶酪),老鼠从(0,0)开始,每次最多移动k步,可以选择上下左右四个方向移动,下一个移动点奶酪块数量必须要大于当前点. 整理模板ing- 题目: FatM ...

  7. [Leetcode][第322题][JAVA][零钱兑换][回溯][记忆化搜索][动态规划]

    [问题描述][中等] [解答思路] 1. 递归(超时) class Solution {int res = Integer.MAX_VALUE;public int coinChange(int[] ...

  8. 【牛客 - 301哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级)】小乐乐下象棋(记忆化搜索dp,dfs)

    题干: 小乐乐一天天就知道玩,这一天又想玩象棋. 我们都知道马走日. 现在给定一个棋盘,大小是n*m,把棋盘放在第一象限,棋盘的左下角是(0,0),右上角是(n - 1, m - 1); 小乐乐想知道 ...

  9. [笔记]极大极小过程的alpha-beta剪枝不可与记忆化搜索一起使用

    今天做SGU 423,WA得我眼泪汪汪.后来发现原来这个问题很早就被何牛提到过: 极大极小过程的alpha-beta剪枝不可与记忆化搜索一起使用. 原因是这样的: 在一个博弈图中,可能存在这样的情况: ...

最新文章

  1. Postman接口调试神器-Chrome浏览器插件
  2. Horseshoe prior的R package介绍:HS.normal.mean函数
  3. Centos6.5硬盘故障修复
  4. IDEA中Alt + Insert快捷键定制生成类方法
  5. J - 简单枚举类型——植物与颜色
  6. unable to verify the first certificate
  7. 黑金AX301 SDRAM读写
  8. bilibili直播: Vue.js Podcast(小记录)~~~
  9. 第十八章、ActiveX控件
  10. Zune WIFI无线同步教程
  11. 调用python-nmap实现扫描局域网存活主机
  12. Python编程实战:寻找回文
  13. GISer开发者的技能清单
  14. 正则表达式,分组,捕获组,反向引用,重复数字正则表达式 ,python 实现
  15. 机器学习数据的预处理
  16. [2021.8纪中集训Day14]
  17. 矩阵的乘法口诀(一)
  18. Opencv 原图像素坐标点透视变换后对应坐标点
  19. BSCI认证的相关认知
  20. 数据库读写分离(一)

热门文章

  1. Axure 元件属性
  2. html文章标题列表,内容页(文章及产品页)标题该怎么写
  3. 国内外无代码可视化开发平台一览
  4. 曾扬言 机器人合法公民_曾扬言“摧毁人类”的机器人索菲亚,现状如何?如果失控了咋办?...
  5. 《大掌门》欧阳刘彬:基于Cocos2d-x引擎开发经验分享
  6. 绿米Aqara、飞利浦等设备,如何与智汀使用同一个APP实现跨品牌互联?
  7. javascript html 去除,javascript去除html标签
  8. 微信小程序 | 自动定时结束录制
  9. unity3d学习笔记——老版动画系统的使用
  10. 三星s8android版本,三星Galaxy S8的手机系统是什么