zoukankan      html  css  js  c++  java
  • poj2229【完全背包-规律Orz...】

    挑战DP
    题意:
    被组合数只能是2的整数幂,然后给出一个数问有多少种组合(mod1e10);
    思路:
    完全背包做啊…还是蛮简单的…(这里取膜要改成加法,省时间…)
    dp[i]代表对于j的方案数

    贴一发吧…

    #include <iostream>
    #include <cstdio>
    #include <string.h>
    #include <stack>
    #include <queue>
    #include <map>
    #include <set>
    #include <vector>
    #include <math.h>
    #include <algorithm>
    using namespace std;
    #define LL long long
    #define INF 0x3f3f3f3f
    const double pi = acos(-1.0);
    const int mod = 1e9;
    const int N =1e6+10;
    int dp[N];
    void Init()
    {
        memset(dp,0,sizeof(dp));
        dp[0]=dp[1]=1;
        for(int i=1;i<=22;i++)
        {
            for(int j=2;j<=1000000;j++)
            {
                int v=1<<(i-1);
                if(j>=v)
                    dp[j]=dp[j-v]+dp[j];
                while(dp[j]>mod)
                    dp[j]-=mod;
            }
        }
    }
    int main()
    {
        int n;
        Init();
        while(~scanf("%d",&n))
            printf("%d
    ",dp[n]);
        return 0;
    }

    然后看了discuss的那个blog(我还是很少点这种推送的blog,看完还是蛮搞笑的。。。)

    具体也就不讲了…能这样玩也是厉害呀…)一个数乘2的情况和那个数的情况相同,谁说不是呢。弱太菜玩不出…
    挫code…………

    #include <iostream>
    #include <cstdio>
    #include <string.h>
    #include <stack>
    #include <queue>
    #include <map>
    #include <set>
    #include <vector>
    #include <math.h>
    #include <algorithm>
    using namespace std;
    #define LL long long
    #define INF 0x3f3f3f3f
    const double pi = acos(-1.0);
    const LL mod = 1e9;
    
    const int N =1e6+10;
    
    LL dp[N];
    
    int main()
    {
        dp[1]=1;
        for(int i=2;i<=1000000;i++)
        {
            if(i%2==1)
                dp[i]=dp[i-1];
            else
                dp[i]=(dp[i-1]+dp[i/2])%mod;
        }
        int n;
        while(~scanf("%d",&n))
            printf("%d
    ",dp[n]);
        return 0;
    }
  • 相关阅读:
    双启利器EasyBCD帮你找回消失了的Windows
    去掉不需要的加载项,让你的Office软件运行如飞
    Windows 7中的无损分区工具Partition Master
    IIS目录浏览模式时,ISO等文件显示不存在的解决方案
    必须常去论坛
    SSOについての英訳練習
    1月21日
    080124 (30,20)
    080122 (30,25)
    九局下半
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934376.html
Copyright © 2011-2022 走看看