zoukankan      html  css  js  c++  java
  • 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;
    }


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

  • 相关阅读:
    tp-link便携式路由器固件升级方式
    awk改变了OFS,$0却没变化
    RBAC设计前期设计
    微信小程序获取普通二维码
    微信小程序获取请求数据
    微信小程序获取二维码API
    php之策略模式
    php之简单工厂模式
    数据库转换微信菜单
    实现微信公众号平台菜单功能
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4651023.html
Copyright © 2011-2022 走看看