HDOJ 1165 Eddy's research II(数学)
2013-12-25 13:09
459 查看
推 Ackermann 的通项,刚开始直接搞,果断 MLE 了。。。
高中数列知识即可
#include <cstdio>
using namespace std;
const int maxm = 4, maxn = 1001000;
typedef long long LL;
LL ak[maxm][maxn];
LL mypow(LL x)
{
LL ret = 1;
LL k = 2;
while(x) {
if(x & 1) ret *= k;
k *= k;
x /= 2;
}
return ret;
}
int main()
{
int m, n ;
for(int i = 0; i < maxn; i++)
ak[0][i] = i + 1;
for(int i = 0; i < maxn; i++)
ak[1][i] = i + 2;
for(int i = 0; i < maxn; i++)
ak[2][i] = 2 * i + 3;
for(int i = 0; i < 25; i++)
ak[3][i] = mypow(i+3) - 3;
while(~scanf("%d%d", &m, &n))
printf("%lld\n", ak[m]
);
return 0;
}
高中数列知识即可
#include <cstdio>
using namespace std;
const int maxm = 4, maxn = 1001000;
typedef long long LL;
LL ak[maxm][maxn];
LL mypow(LL x)
{
LL ret = 1;
LL k = 2;
while(x) {
if(x & 1) ret *= k;
k *= k;
x /= 2;
}
return ret;
}
int main()
{
int m, n ;
for(int i = 0; i < maxn; i++)
ak[0][i] = i + 1;
for(int i = 0; i < maxn; i++)
ak[1][i] = i + 2;
for(int i = 0; i < maxn; i++)
ak[2][i] = 2 * i + 3;
for(int i = 0; i < 25; i++)
ak[3][i] = mypow(i+3) - 3;
while(~scanf("%d%d", &m, &n))
printf("%lld\n", ak[m]
);
return 0;
}
相关文章推荐
- hdu 1165 Eddy's research II(数学题,递推)
- HDU 1165 Eddy's research II (数学推导)
- hdu 1165 Eddy's research II(数学题,递推)
- HDOJ 题目1165 Eddy's research II(递推,找规律)
- hdu 1165 Eddy's research II(数学:等差 等比公式)
- HDU-1165-Eddy's research II
- hdu-1165-Eddy's research II
- hdu 1165 Eddy's research II
- HDU 1165 Eddy's research II
- hdu 1165 Eddy's research II(递推+打表)
- HDU_1165 Eddy's research II
- HDU 1165 Eddy's research II(递推)
- hdu 1165 Eddy's research II
- HDU 1165 Eddy's research II
- HDU 1165 Eddy's research II(递推)
- HDU-1165-Eddy's research II(递推 打表 找规律)
- HDU 1165 Eddy's research II 打表找规律
- hdu 1165 Eddy's research II (DP)
- hdu Eddy's research II(递推,找规律,打表)
- HDU:1165 Eddy's research II