• DP 水的问题


    假设的自然数N的K随机二进制表示是不相邻的两个相邻的数字。那么我们说这个数字是K好一些。

    乞讨L地点K十六进制数K的相当数量的数。

    例如K = 4。L = 2什么时候。整个K好一些11、13、20、22、30、31、33 共7一个。因为这个数目是非常大的,你把它输出1000000007取模后的值。


    有点数位DP的味道,这个要记得不相邻,可是自己跟自己能够。

    还有就是枚举的是往前插

    dp[i][j] 长i,j打头的个数。

    又有点递推味道。

    #include<algorithm>
    #include<iostream>
    #include<iterator>
    #include<cstdlib>
    #include<cstring>
    #include<cstdio>
    #include<map>
    #define mem(a) memset(a,0,sizeof(a))
    #define inf (1<<30)
    #define mod 1000000007
    using namespace std;
    typedef long long ll;
    const int maxn=10+100;
    
    ll dp[20][20];
    int main()
    {
        int k,l;
        scanf("%d%d",&k,&l);
        for(int i=0;i<k;i++) dp[1][i]=1;
        for(int i=2;i<=l;i++)
            for(int j=1;j<k;j++)
            {
                dp[i][j]=dp[i-1][j];
                for(int m=0;m<j-1;m++)
                    dp[i][j]+=dp[i-1][m];
                for(int m=j+2;m<k;m++)
                    dp[i][j]+=dp[i-1][m];
                dp[i][j]%=mod;
            }
    
        ll ans=0;
        for(int i=1;i<k;i++)
            ans+=dp[l][i];
        if(k<=2) ans=0;
        cout<<ans<<endl;
        return 0;
    }


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    从MySQL全备文件中恢复单个库或者单个表
    594. Longest Harmonious Subsequence
    205. Isomorphic Strings
    274. H-Index
    219. Contains Duplicate II
    217. Contains Duplicate
    操作系统-多用户如何理解(Linux)
    Java-面向对象
    C++-有感
    C++-Typedef结构体遇上指针
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4651023.html
Copyright © 2020-2023  润新知