zoukankan      html  css  js  c++  java
  • joj2443

    http://acm.jlu.edu.cn/joj/showproblem.php?pid=2443 我水啊 刚开始想到的方程f[n+1,m] = f[n,m] + f[n,m-1] + … + f[n,m-n]; 但是这个方程时间复杂度是O(N^3)。 然后仔细观察,发现f[n+1,m] = f[n,m]+f[n+1,m-1],并且减去f[n,m-n-1]; 复杂度是O(N^2) [code language="cpp"] void init() {     memset(f,0,sizeof(f));     f[1][0] = 1;     for(int i=1; i<=1000; i++)     {         int tmp = min(10000,((i+1)*i)/2);         f[i+1][0] = f[i][0];         for(int j = 1; j<= tmp ; j ++)         {             if(j - 1 >= 0)                 f[i+1][j] = (f[i][j] + f[i+1][j-1]) % mod;             if(j - i > 0 )             {                 f[i+1][j] -= f[i][j-i-1];                 if(f[i+1][j] < 0) f[i+1][j] += mod;             }         }     } } [/code]

  • 相关阅读:
    014_Python3 循环语句
    013_Python3 条件控制
    012_Python3 斐波纳契数列 + end 关键字
    011_Python3 集合
    010_Python3 字典
    009_Python3 元组
    008_Python3 列表
    006_Python3 数字(Number)
    005_Python3 运算符
    bzoj3160
  • 原文地址:https://www.cnblogs.com/jh818012/p/3182678.html
Copyright © 2011-2022 走看看