母函数求组合情况模板

原创 2016年08月30日 20:04:43

求maxlim之内的组合情况数

#include<stdio.h>
#include<string.h>
#define element 27 //元素的种类数
#define maxlim 52  //价格限制
int c1[maxlim],c2[maxlim];
int main()
{
    int n;
    int i,j,k;
    int sum;
    int a[element]= {0};
    scanf("%d",&n);
    while(n--)
    {
        for(i=1; i<element; i++)  //输入每种商品的个数
            scanf("%d",&a[i]);
        memset(c2,0,sizeof(c2));
        memset(c1,0,sizeof(c1));
        for(i=0; i<maxlim&&i<=a[1]; i++)
            c1[i]=1;

        for(i=2; i<=element; i++)
        {
            for(j=0; j<maxlim; j++)
            {
                for(k=0; k+j<maxlim&&k<=a[i]*i/**限制大小为i元素可提供的最大值*/; k+=i)
                    c2[k+j]+=c1[j];
            }
            for(j=0; j<maxlim; j++)
            {
                c1[j]=c2[j];
                c2[j]=0;
            }
        }/**到这可以求出可以组合到该数字有多少种情况*/

        /**中间为核心代码,c1数组里存了所有和有多少种情况*/
        sum=0;
        for(i=1; i<maxlim; i++)
            sum+=c1[i];
        printf("%d\n",sum);
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

母函数详解和史上最通用最高效的母函数模板

本文详细介绍母函数以及母函数在ACM竞赛中的解题方法,同时给出史上最通用最高效的母函数模板,非常实用,并且易于理解。本文还给出了一系列的例题帮助读者理解。...
  • u012077163
  • u012077163
  • 2013年11月30日 18:03
  • 7838

求组合数(取模)的两种方法

概述首先我们要知道什么是组合数。具体可以参考我之前的博客 “排列与组合”笔记 中,集合的组合的部分。这里复述如下: 令r为非负整数。我们把n个元素的集合S的r-组合理解为从S的n个元素中对r个元素的无...
  • ArrowLLL
  • ArrowLLL
  • 2016年09月22日 23:20
  • 2563

词组缩写 英语句子所有单词首字母大写输出 C语言/C++编程题

题目描述 定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。 比如,C语言里常用的EOF就是end of file的缩写。 输入 输入的第一行是一个整数T,表示一共有T组...
  • ESESZB
  • ESESZB
  • 2016年06月18日 17:52
  • 2640

组合数学 - 母函数的运用 --- 模板题

Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J...
  • u013371163
  • u013371163
  • 2017年03月05日 17:12
  • 78

母函数模板---解决组合数问题

母函数,又称生成函数,是ACM竞赛中经常使用的一种解题算法,常用来解决组合方面的题目。 母函数通常解决类似如下的问题: (1)给5张1元,4张2元,3张5元,要得到15元,有多少种组合? (2...
  • litianxiang_kaola
  • litianxiang_kaola
  • 2017年03月11日 16:05
  • 181

Excel内部函数实现省、市、店三级组合框联动的精彩模板

  • 2009年08月02日 11:27
  • 11KB
  • 下载

继承中的构造和析构 继承和组合混搭情况下,构造函数、析构函数调用顺序研究

//继承中的构造和析构 //继承和组合混搭情况下,构造函数、析构函数调用顺序研究 #include using namespace std; class Object //爷爷 { publ...
  • u011391093
  • u011391093
  • 2015年01月03日 01:52
  • 347

[C++ 2011 STL (VS2012 Update4) 源代码阅读系列(3)]模板函数指针的的各种组合以及调用的方式

// function.cpp : /* 测试例子演示了函数指针的的各种组合以及调用的方式 如果你的编译器编译失败,请尽可能的先去掉 const 后编译,如果全部去掉后 还是编译失败,请把你的编译器升...
  • hzhxxx
  • hzhxxx
  • 2013年08月12日 16:50
  • 1171

bjfuOJ 1017组合的字典序(模拟求直接后继,分情况讨论)

组合的字典序 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte 总提交:51            测试通过:28 描述 一...
  • Songjs19931206
  • Songjs19931206
  • 2015年01月30日 13:42
  • 679

pinyin4j把中文句子(含有多音字字母)转成拼音(二维数组递归求所有组合情况返回list)算法实现!

介绍        Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制,然而真正的把含有多音字、数字、字母的中文句子转成拼音得到所有的组合情况却有很大难度,我看...
  • chenleixing
  • chenleixing
  • 2015年03月05日 21:43
  • 3772
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:母函数求组合情况模板
举报原因:
原因补充:

(最多只允许输入30个字)