zoj 2872 Binary Partitions(简单递推)

原创 2012年03月31日 00:50:07

【题目大意】:把一个数拆成若干个2的幂的和,问有几种拆法。


【解题思路】:递推,当一个数是奇数的时候,没办法,它只能从它前面的那个偶数加个1转移过来。当一个数是偶数的话,可以由它前一个数+1转移过来,也可以是它的一半转移过来,因为偶数换成二进制之后末尾一定是0,也就是偶数左移一位的组合方式。


【代码】:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <cmath>
#include <string>
#include <cctype>
#include <map>
#include <iomanip>
                   
using namespace std;
                   
#define eps 1e-8
#define pi acos(-1.0)
#define inf 1<<30
#define linf 1LL<<60
#define pb push_back
#define lc(x) (x << 1)
#define rc(x) (x << 1 | 1)
#define lowbit(x) (x & (-x))
#define ll long long
#define mod 1000000

int f[2001000];

void init(){
    memset(f,0,sizeof(f));
    f[0]=1;
    f[1]=1;
    for (int i=2; i<=2000100; i++){
        if (i%2==0) f[i]=(f[i-1]+f[i/2])%mod;
        else f[i]=f[i-1]%mod;
    }
}

int main() {
    init();
    int T,n;
    cin >> T;
    while (T--){
        scanf("%d",&n);
        cout << f[n] << endl;
    }
    return 0;
}


f[n][k]:至少以2^k的分量去分解n时有多少种分解方案。题目的解即为f[n][0]。

ZOJ ACM忽悠训练

ZOJ题目分类  初学者题:  1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251...

ZOJ 2872 Binary Partitions

Binary Partitions Time Limit: 2 Seconds      Memory Limit: 65536 KB Hadi loves binary numbers....

UVAlive-6577 Binary Tree(递推+找规律)

传送门:UVA-6577 题意:有一个向下无限延伸的二叉树。有一串只含LRU的指令S,从根结点开始执行。LRU分别表示往左儿子走,往右儿子走,往父节点(如果当前节点为根节点,则跳过这一步)。然后输入...

POJ 2499 Binary Tree 递推 贪心

Binary Tree Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5755   Ac...
  • kdwycz
  • kdwycz
  • 2014年02月22日 15:08
  • 509

URAL 1081 Binary Lexicographic Sequence (递推 + 递归)

大体题意: 定义一个合法的二进制序列为序列中没有两个1是相邻的,对于所有长度为n的合法序列按照字典序排序后(保留前导0),求第K大的串是多少? 思路: 我们先得求出一个n位的合法二进制的个数是多...

hdu 5573 Binary Tree【思维+递推】

Binary Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

ZOJ_2705_Dividing a Chocolate(递推斐波那契)

Dividing a Chocolate Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Sub...

UVa10276 HDU1329 ZOJ1239 Hanoi Tower Troubles Again!【递推函数+打表】

Hanoi Tower Troubles Again! People stopped moving discs from peg to peg after they know the numbe...

zoj 3929 Deque and Balls 树状数组 递推

从i 到i+1 转移时候ans先倍增,再加上a[ i ] 加到双端队列两端时 对答案的贡献(既新出现的递减项)。然后有减法的时候取模一定要 先加mod再%mod,要不然WA到死 QAQ 点击打开链...
  • Mtrix
  • Mtrix
  • 2016年04月11日 19:32
  • 369

简单递推滤波

  • 2017年12月11日 13:14
  • 561B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:zoj 2872 Binary Partitions(简单递推)
举报原因:
原因补充:

(最多只允许输入30个字)