zoukankan      html  css  js  c++  java
  • HDU 4671 Partition(定理题)

    题目链接

    这题,明显考察搜索能力。。。在中文版的维基百科中找到了公式。

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <string>
     4 #include <algorithm>
     5 using namespace std;
     6 #define MOD 1000000007
     7 #define LL __int64
     8 LL dp[200001];
     9 int que[1001],flag[1001];
    10 int main()
    11 {
    12     int i,n,t,j,num;
    13     LL x;
    14     num = 0;
    15     for(i = 0;;i ++)
    16     {
    17         t = (3*i*i - i)/2;
    18         if(t > 300000) break;
    19         flag[num] = i;
    20         que[num++] = t;
    21         t = (3*i*i + i)/2;
    22         flag[num] = i;
    23         que[num++] = t;
    24     }
    25     dp[1] = 1;dp[2] = 2;
    26     dp[0] = 1;
    27     for(i = 3;i <= 100000;i ++)
    28     {
    29         for(j = 1;j <= 895;j ++)
    30         {
    31             if(que[j] > i)
    32             break;
    33             else
    34             x = dp[i-que[j]];
    35             if(flag[j]%2 == 1)
    36             {
    37                 dp[i] = (dp[i] + x)%MOD;
    38             }
    39             else
    40             {
    41                 dp[i] = (dp[i] - x)%MOD;
    42                 if(dp[i] < 0)
    43                 dp[i] += MOD;
    44             }
    45         }
    46     }
    47     scanf("%d",&t);
    48     while(t--)
    49     {
    50         scanf("%d",&n);
    51         printf("%I64d
    ",dp[n]);
    52     }
    53     return 0;
    54 }
  • 相关阅读:
    将博客搬至CSDN
    HDU1175 + HDU1728+BFS转弯
    HDU1401 BFS
    HDU1401 双广BFS
    分布式一致性
    GFS架构分析
    云计算资源分享与下载
    mysql导入导出数据方法
    缓存设计的一些思考
    HBase性能优化方法总结
  • 原文地址:https://www.cnblogs.com/naix-x/p/3241479.html
Copyright © 2011-2022 走看看