题目:http://acm.hdu.edu.cn/showproblem.php?pid=1165

果断不擅长找规律啊,做这种题静不下心来。

Ackermann function can be defined recursively as follows:

递推如上图,

0<m<=3,0<=n<=1000000,,当m==3时,n>=0&&n<=24.

首先发现a(0,i)=i+1;

另外n==0时,a(1,0)=a(0,1)=2;

当m==1,n>0时,a(1,n)=a(0,a(1,n-1)=a(1,n-1)+1;

有上式找到当m==1时的递推公式,a(1,i)=a(1,i-1)+1;(其中a(1,0)=2);

所以a(1,i)=i+2;

同理,当m==2,n>0时,a(2,n)=a(1,a(2,n-1))=a(2,n-1)+2;(其中a(2,0)=a(1,1)=3)

所以a(2,i)=2*i+3;

所以a(3,i)=a(2,a(3,i-1))=2*a(3,i-1))+3;

由此可以解出结果。

代码如下:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define inf 0x3f3f3f3f
using namespace std;
int dp[][],n,m;
int main()
{
for(int i=;i<=;i++)
dp[][i]=i+;
dp[][]=;
for(int i=;i<=;i++)
dp[][i]=i+;
dp[][]=;
for(int i=;i<=;i++)
{
dp[][i]=dp[][i-]+;//2*i+3
}
dp[][]=;
for(int i=;i<=;i++)
{
dp[][i]=*(dp[][i-])+;
}
while(scanf("%d%d",&n,&m)!=EOF)
{
printf("%d\n",dp[n][m]);
}
return ;
}

HDU1165: Eddy's research II(递推)的更多相关文章

  1. HDU 1165 Eddy's research II(给出递归公式,然后找规律)

    - Eddy's research II Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64 ...

  2. HDU 1165 Eddy's research II (找规律)

    题意:给定一个表达式,然后让你求表达式的值. 析:多写几个就会发现规律. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400000 ...

  3. HDU 1165 Eddy's research II

    题意:已知,求A(m, n). 分析:根据样例模拟一下过程就可以找出递推关系. #include<cstdio> #include<cstring> #include<c ...

  4. 动态规划入门——Eddy's research II

    转载请注明出处:http://blog.csdn.net/a1dark 分析:找规律 #include<stdio.h> int main(){ int m,n; while(scanf( ...

  5. HDUOJ----1165Eddy's research II

    Eddy's research II Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  6. hdu 1165 Eddy&#39;s research II(数学题,递推)

    // Eddy 继续 Problem Description As is known, Ackermann function plays an important role in the sphere ...

  7. [LeetCode] 递推思想的美妙 Best Time to Buy and Sell Stock I, II, III O(n) 解法

    题记:在求最大最小值的类似题目中,递推思想的奇妙之处,在于递推过程也就是比较求值的过程,从而做到一次遍历得到结果. LeetCode 上面的这三道题最能展现递推思想的美丽之处了. 题1 Best Ti ...

  8. Eddy's AC难题--hdu2200(递推)

    Problem Description Eddy是个ACMer,他不仅喜欢做ACM题,而且对于Ranklist中每个人的ac数量也有一定的研究,他在无聊时经常在纸上把Ranklist上每个人的ac题目 ...

  9. Leetcode 119 Pascal's Triangle II 数论递推

    杨辉三角,这次要输出第rowIndex行 用滚动数组t进行递推 t[(i+1)%2][j] = t[i%2][j] + t[i%2][j - 1]; class Solution { public: ...

随机推荐

  1. Oracle Explain plan 使用总结

    Oracle Explain plan使用总结    写多了SQL语句,伴随着数据量的海增,总会遇到性能的问题.在Oracle领域一个不好的习惯,一旦遇到性能问题就推给DBA来做.长期如此,反而对DB ...

  2. oracle,mysql分页

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...

  3. matlab hornerDemo

    % a quick demo of Horner's method and its effects clear all close all % first a comparison of ways t ...

  4. windows config yii framework

    download and config download yii-1.1.12 unzip into yii-1.1.12 config yii-1.1.12 dir an apache httpdo ...

  5. Uploadify使用源码

    上传图片页面绑定源码如下: $("#uploadify").uploadify({ 'uploader' : basePath+'commons/uploadfiles/uploa ...

  6. PAT003 List Leaves

    题目: Given a tree, you are supposed to list all the leaves in the order of top down, and left to righ ...

  7. 自己编写Android Studio插件 别停留在用的程度了(转载)

    转自:自己编写Android Studio插件 别停留在用的程度了 1概述 相信大家在使用Android Studio的时候,或多或少的会使用一些插件,适当的配合插件可以帮助我们提升一定的开发效率,更 ...

  8. linux 启动jar命令

    进入ECS目录jar 存放目录: 1.执行命令: linux:启动jar nohup java -jar qualityshop-api.jar>log.file 2>&1 &am ...

  9. MFC中CString转换成char数组的问题

    由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串.关于它们之间的转换,在VS2008中有时会出现异 ...

  10. Dnsmasq简介

    Dnsmasq是一个开源的轻量级DNS转发和DHCP.TFTP服务器,使用C语言编写.Dnsmasq针对家庭局域网等小型局域网设计,资源占用低,易于配置.支持的平台包括Debian.Fedora.Sm ...