题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4658

题意:给出n、k。求n的拆分方案数。要求拆分中每个数不超过k。

i64 f[N];

void init()
{
    f[0]=f[1]=1; f[2]=2;
    int i,j,k,t;
    for(i=3;i<N;i++) for(j=1;;j++)
    {
        FOR0(k,2)
        {
            if(!k) t=(3*j*j-j)/2;
            else t=(3*j*j+j)/2;
            if(t>i) break;
            if(j&1) f[i]=(f[i]+f[i-t])%mod;
            else f[i]=(f[i]-f[i-t])%mod;
        }
        if(t>i) break;
    }
}

int n,m;

i64 cal()
{
    i64 ans=f[n];
    int i,j=-1,k;
    for(i=1;;i++,j=-j)
    {
        k=(3*i*i-i)/2*m;
        if(k>n) break;
        ans=(ans+f[n-k]*j)%mod;
        k=(3*i*i+i)/2*m;
        if(k>n) break;
        ans=(ans+f[n-k]*j)%mod;
    }
    if(ans<0) ans+=mod;
    return ans;
}

int main()
{
    init();
    rush()
    {
        RD(n,m);
        PR(cal());
    }
}

HDU 4658 Integer Partition(整数拆分)的更多相关文章

  1. hdu 4651 Partition && hdu 4658 Integer Partition——拆分数与五边形定理

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4651 参考:https://blog.csdn.net/u013007900/article/detail ...

  2. HDU 4658 Integer Partition (2013多校6 1004题)

    Integer Partition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  3. hdu 4658 Integer Partition

    五角数定理!!可以参考这个http://www.cnblogs.com/xin-hua/p/3242428.html  代码如下: #include<iostream> #include& ...

  4. hdu 4651 Partition(整数拆分+五边形数)

    Partition Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. [LeetCode] Integer Break 整数拆分

    Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...

  6. HDU-4651 Partition 整数拆分,递推

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:求n的整数拆为Σ i 的个数. 一般的递归做法,或者生成函数做法肯定会超时的... 然后要 ...

  7. 343 Integer Break 整数拆分

    给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化. 返回你可以获得的最大乘积.例如,给定 n = 2,返回1(2 = 1 + 1):给定 n = 10,返回36(10 = 3 ...

  8. [LeetCode] 343. Integer Break 整数拆分

    Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...

  9. HDU 1398 Square Coins 整数拆分变形 母函数

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit ...

随机推荐

  1. [解决方案] 当 IDENTITY_INSERT 设置为 OFF 时

    当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'tbUser' 中的标识列插入显式值. 解决:这个情况是你的表里面,有一列数据类型是IDENTITY的,也就是数据库自动递增列对于自 ...

  2. 第一个 bat 文件

    要写一个批处理命令 转换场景数据 包括从文件里读入 每一行信息是一个要转换的场景名字 可以拼出路径 到指定路径 执行命令 http://blog.csdn.net/mfx1986/article/de ...

  3. 将apk安装包安装在Android真机或者模拟器

    例子如下: 一.准备 打开MAC PC上的Android模拟器方法:打开eclipse-—>window->Android Virtual Device Manager 如果是安装在真机上 ...

  4. vitrualbox虚拟机64位安装报错解决

    1 NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries) 解决办法 ...

  5. Tomcat漏洞说明与安全加固

    Tomcat是Apache软件基金会的一个免费的.开放源码的WEB应用服务器,可以运行在Linux和Windows等多个平台上,由于其性能稳定.扩展性好.免费等特点深受广大用户的喜爱.目前,互联网上绝 ...

  6. Ckeditor 中一些核心的对象的作用

    1.CKEditor CKEditor对象用于掌管全局,他是一个单例对象,管理着所有实例化了的编辑框. 通过replace方法创建编辑框实例. 2.CKEditor.editor 表示一个编辑框实例, ...

  7. Chapter 5

    1. 2模块导入 3.包导入

  8. Android 中多点触摸协议

    http://blog.csdn.net/zuosifengli/article/details/7398661 Android 中多点触摸协议: 参考: http://www.kernel.org/ ...

  9. 理解ASP.NET MVC Framework Action Filters

    原文:http://www.cnblogs.com/darkdawn/archive/2009/03/13/1410477.html 本指南主要解释action filters,action filt ...

  10. HDU4966 GGS-DDU(最小树形图)

    之前几天想着补些算法的知识,学了一下最小树形图的朱刘算法,不是特别理解,备了份模板以备不时之需,想不到多校冷不丁的出了个最小树形图,没看出来只能表示对算法不太理解吧,用模板写了一下,然后就过了.- - ...