• 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;
    }
  • 相关阅读:
    项目冲刺之任务场景分析
    一位数组的最大子数组(debug版)
    软件工程课堂五(地铁项目的优化)
    人月神话阅读笔记02
    软件工程第七周总结
    人月神话阅读笔记01
    软件工程第六周总结
    构建之法阅读笔记03
    软件工程第五周总结
    软件工程课堂四(合作开发项目-地铁线路查询)
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934376.html
Copyright © 2020-2023  润新知