ps:get到了母函数...看了好久的模板与介绍....似懂非懂..决定要多找些题来试试...

代码:

#include "stdio.h"
#include "string.h"
int cal(int m2[]);
int main(){
int T,i,sum;
int c2[];
scanf("%d",&T);
while(T--){
for(i=;i<;i++)
scanf("%d",&c2[i]);
sum=cal(c2);
printf("%d\n",sum);
}
return ;
}
int cal(int m2[]){
int i,j,k,sum=;
int c1[],c2[];
memset(c1,,sizeof(c1));
memset(c2,,sizeof(c2)); //c1用来存结果,c2用来临时保存计算结果
//每次算好结果,就把c2的值给c1,然后再初始化c2.
c1[]=;
for(i=;i<=;i++){ //26个多项式相乘,循环26次 c1[3]代表x^3的系数
for(j=;j<=;j++){ //从0到50遍历,因为指数代表分数,每个指数都考虑一次,不管有没有
for(k=;k<=m2[i] && j+k*i<=;k++){ //注意这里m2数组里是i决定,就是外层的j无论循环几次
//都是由最外层的循环i决定的
//j代表是前面的多项式,k代表是现在被乘的多项式
//c1[j]*c[k*i] 指数相加,系数也相加,系数相加的是c[j]的系数.
c2[j+k*i]+=c1[j]; //c2[0]=1,k++,c2[1]=1,c2[3]=1,c2[4]=1...
//j=1,c2[1]=c1[1]=1,c2[1+1]=c2[2],c2[2]+=c1[2] c2[2]=c2[2]+0...
//c2[50]+=c1[50]
}
}
for(j=;j<=;j++){
c1[j]=c2[j];
c2[j]=;
}
}
for(i=;i<=;i++){
sum+=c1[i];
}
return sum;
}

hdu 2082的更多相关文章

  1. hdu 2082 生成函数

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2082 找单词 Time Limit: 1000/1000 MS (Java/Others)    Me ...

  2. HDU 2082 找单词 (普通型 数量有限 母函数)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2082 找单词 Time Limit: 1000/1000 MS (Java/Others)    Me ...

  3. HDU 2082 找单词 (多重背包)

    题意:假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字母,可以找到多少价值<=50的 ...

  4. 组合数学 - 母函数的运用 + 模板 --- hdu : 2082

    找单词 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  5. HDU 2082 母函数模板题

    找单词 Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Status De ...

  6. HDU 2082 找单词

    Problem Description 假 设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字 ...

  7. HDU 2082 找单词 (普通母函数)

    题目链接 Problem Description 假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于 ...

  8. HDU 1028 整数拆分 HDU 2082 找单词 母函数

    生成函数(母函数) 母函数又称生成函数.定义是给出序列:a0,a1,a2,...ak,...an, 那么函数G(x)=a0+a1*x+a2*x2+....+ak*xk +...+an* xn  称为序 ...

  9. HDU 2082 找单词 --生成函数

    跟上题是一个思路:http://www.cnblogs.com/whatbeg/p/3728545.html 只不过是上一题的扩展. 代码: #include <iostream> #in ...

随机推荐

  1. 谈谈JPA-01-概述

    JPA和Hibernate的关系 JPA 是 hibernate 的一个抽象(就像JDBC和JDBC驱动的关系): JPA 是规范:JPA 本质上就是一种  ORM 规范,不是ORM 框架 —— 因为 ...

  2. BeautifulSoup 常用方法

    #输出所得标签的‘’属性值 获取 head里面的第一个meta的content值 soup.head.meta['content'] 获取第一个span的内容 soup.span.string 获取第 ...

  3. 关于使用dotnetbar开发winform程序在用户电脑上部署时问题

    1.首先要安装两个软件

  4. 笔记2:傻瓜式盗QQ程序

    1.一个简单的盗QQ号的方法 仿做一个QQ的窗体 PS:当然里面有用的控件只有两个输入框和一个登陆按钮,其他的尽量做得像一些吧! 点登陆时的后台代码: PS:需要导入两个包:using System. ...

  5. LINUX&UNIX 安装vmware workstation10和centOS6

    大一下时,学习了linux&unix这门课程,全字符的操作,我对它并不是很感冒,不过,还是找学长安装过虚拟机和Linux系统,在考前利用它和putty进行复习.现在重装系统之后,各类软件,自然 ...

  6. C语言内存分配机制

    内存分配方式有三种: (1)从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. (2)在栈上创建.在执行函数时,函数内局部变量的 ...

  7. 转:Nginx 配置 location 总结及 rewrite 规则写法

    转: http://www.linuxidc.com/Linux/2015-06/119398.htm 1. location正则写法 一个示例: location =/{ # 精确匹配 / ,主机名 ...

  8. BZOJ1718 [Usaco2006 Jan] Redundant Paths 分离的路径

    给你一个无向图,问至少加几条边可以使整个图变成一个双联通分量 简单图论练习= = 先缩点,ans = (度数为1的点的个数) / 2 这不是很好想的么QAQ 然后注意位运算的优先级啊魂淡!!!你个sb ...

  9. MyEclipse生成WAR包并在Tomcat下部署发布[转]

      从来没有想过web项目还能打包的,但是有要求,就不得不去实现,在网上找了一下,发现挺简单的. 首先是使用MyEclipse将web项目打包,如下图所示. 右键选中项目,选择export. 然后选择 ...

  10. idea tomcat +eclipse式的部署

    使用习惯了eclipse, 还没开始使用maven, 使用idea 有些不太习惯,现在记录下来,以备忘. /*这一步在tomcat使用external source时,其实是不起作用的**/   a. ...