hdu 1438 钥匙计数1
来源:互联网 发布:西安软件新城三期 编辑:程序博客网 时间:2024/05/03 16:44
递推方程式如下
1:如果X是钥匙 则X1/2/3/4也是 所以a[I]=a[I-1]*4
2: 如果X不是,X2/3是则X由1/4组成/但要除去全1和全4 所以a[I]+=(2^(I-1)-2)*2
3 如果X不是 X1/4是。则X=Y(1/4) M=X1/4=Y(4/1)(1/4)
前I-2位可以是1234,但要除去全为1/4的情况 还有就是X是钥匙且X是以1/4结尾
的情况。我们用b[I]数组表示i位时以1/4结尾的的数量
temp=4^(i-2)-2^(i-2)-b[i-1];
则 b[i]=a[i-1]*2+temp;
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
int i;
__int64 temp,a[32],b[32];//b[i]记录以1 4结尾的数
a[2]=0;
a[3]=8;
b[2]=0;
b[3]=4;
printf("N=2: 0\nN=3: 8\n");
for(i=4;i<=31;i++)
{
a[i]=a[i-1]*4;
a[i]+=(__int64)pow(2,i)-4;//以2 3 结尾的
temp=((__int64)pow(4,i-2)-(__int64)pow(2,i-2))*2-b[i-1];
a[i]+=temp;
b[i]=a[i-1]*2+temp;
printf("N=%d: %I64d\n",i,a[i]);
}
return0;
}
- hdu 1438 钥匙计数1
- hdu 1438钥匙计数
- hdu 1438 - 钥匙计数之一
- hdu 1438 钥匙计数之一
- hdu-1438 钥匙计数之一
- hdu 1438 钥匙计数之一
- HDU 钥匙计数之一
- HDU 1480 钥匙计数二
- hdu 1438 钥匙计数之一(DP状态压缩)
- hud 1438 钥匙计数之一
- hdu 1480 钥匙计数之二
- HDU 1483 钥匙计数之一(详细过程)
- HDU---1480-钥匙计数之二
- hdu 1480 钥匙计数之二
- HDU 1438 钥匙计数之一 递推+组合 简洁的做法
- 杭电OJ 1438:钥匙计数之一
- 杭电1438 钥匙计数一
- HDU yt13递推1008钥匙计数之一
- js验证checkbox是否选中至少一项
- 徐敬标,俺刚上道,先开心一下噻!
- 不错的博客文章
- WPF学习笔记 - WPF多线程应用程序
- Ubuntu下的截图以及自定义快捷键
- hdu 1438 钥匙计数1
- 使scp不用输入密码
- 为Android应用程序读取/dev下设备而提权(一)
- hdu 1480 钥匙计数之二
- 游戏引擎剖析
- Gray-Scale Morphological Operations
- FlashPlayer 11 相关链接
- 扩展VMWare 虚拟机中的CentOS6.0的磁盘空间
- Hibernate锁机制_悲观锁和乐观锁