zoukankan      html  css  js  c++  java
  • hdu 4301 Divide Chocolate 夜

    给一个2*n 的chocolate 分成一定的块数 问有多少种情况

    DP 递推

    link[][]表示 到第 i 排 第i排相连 分成 j 块有多少种情况

    nolink[][]表示 到第 i 排 第i排不相连 分成j块有多少种情况

    代码:

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<queue>
    #include<cmath>
    #include<stack>
    #include<algorithm>
    
    using namespace std;
    
    const int N=1001;
    const int MOD=100000007;
    
    int link[N][N*2];
    int nolink[N][N*2];
    void begin()
    {
        link[1][2]=0;
        nolink[1][2]=1;
        for(int j=3;j<N*2-1;++j)//一些边界处理
        {
            link[1][j]=0;
            nolink[1][j]=0;
        }
        for(int i=1;i<N;++i)//一些边界处理
        {
            nolink[i][2*N-1]=0;
            link[i][0]=0;
            nolink[i][0]=0;
            link[i][1]=1;
            nolink[i][1]=0;
        }
        for(int i=2;i<N;++i)
        {
            for(int j=2;j<2*N-1;++j)
            {
                link[i][j]=(link[i-1][j]+link[i-1][j-1]+nolink[i-1][j-1]+nolink[i-1][j]*2)%MOD;
                nolink[i][j]=(link[i-1][j-1]*2+link[i-1][j-2]+nolink[i-1][j]+nolink[i-1][j-1]*2+nolink[i-1][j-2])%MOD;
            }
        }
    }
    int main()
    {
       int T;
       scanf("%d",&T);
       begin();
       while(T--)
       {
           int x,y;
           scanf("%d %d",&x,&y);
           printf("%d\n",(link[x][y]+nolink[x][y])%MOD);
       }
       return 0;
    }
    

      

  • 相关阅读:
    安全测试知多少
    支付测试
    接口测试总结
    SoapUI+excel接口自动化测试简述
    浏览器及元素的常用函数及变量整理总结
    jmeter接口自动化测试,数据驱动玩法
    接口测试点汇总
    测试面试题;
    MySQL入门,了解下、
    徒手运维MGR集群基本操作
  • 原文地址:https://www.cnblogs.com/liulangye/p/2602300.html
Copyright © 2011-2022 走看看