hdu 2082
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的更多相关文章
- hdu 2082 生成函数
主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2082 找单词 Time Limit: 1000/1000 MS (Java/Others) Me ...
- HDU 2082 找单词 (普通型 数量有限 母函数)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2082 找单词 Time Limit: 1000/1000 MS (Java/Others) Me ...
- HDU 2082 找单词 (多重背包)
题意:假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字母,可以找到多少价值<=50的 ...
- 组合数学 - 母函数的运用 + 模板 --- hdu : 2082
找单词 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDU 2082 母函数模板题
找单词 Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u Submit Status De ...
- HDU 2082 找单词
Problem Description 假 设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字 ...
- HDU 2082 找单词 (普通母函数)
题目链接 Problem Description 假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于 ...
- HDU 1028 整数拆分 HDU 2082 找单词 母函数
生成函数(母函数) 母函数又称生成函数.定义是给出序列:a0,a1,a2,...ak,...an, 那么函数G(x)=a0+a1*x+a2*x2+....+ak*xk +...+an* xn 称为序 ...
- HDU 2082 找单词 --生成函数
跟上题是一个思路:http://www.cnblogs.com/whatbeg/p/3728545.html 只不过是上一题的扩展. 代码: #include <iostream> #in ...
随机推荐
- View绑定式监听器实现原理
在我们开发android的时候,会经常重写自定义的View去满足一些需求 然后有时候view会提供一些回调,比如view某个部分被点击了,我们需要通知使用者然后再通过接口传一些参数过去. 对于我之前的 ...
- 日期操作类--DateFormat类
简单的DateFormat格式化编码 时间模式字符串用来指定时间格式.在此模式中,所有的ASCII字母被保留为模式字母,定义如下: 字母 描述 示例 G 纪元标记 AD y 四位年份 2001 M 月 ...
- [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理
原文地址:http://kb.cnblogs.com/page/42318/ 系列文章导航: [你必须知道的.NET] 开篇有益 [你必须知道的.NET] 第一回:恩怨情仇:is和as [你必须知道的 ...
- HTTP协议中PUT和POST使用区别 【转载】
有的观点认为,应该用 POST来创建一个资源,用PUT来更新一个资源:有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源:还有的观点认为可以用PUT和 POST中任何一个来做创建或者更 ...
- jquery UI datepicker时间控件的使用
参考: http://api.jqueryui.com/datepicker/#method-show 英文 http://www.helloweba.com/view-blog-168.html 中 ...
- hadoop入门之设置datanode的心跳时间的方法
做作业的过程中发现,把一节点停掉,dfsadmin和50070都无法马上感知到一个data node已经死掉 HDFS默认的超时时间为10分钟+30秒.这里暂且定义超时时间为timeout计算公式为: ...
- Oracle “dba_tables”介绍
DBA_TABLES describes all relational tables in the database. Its columns are the same as those in ALL ...
- linux apache 自动监护脚本
1 首先安装curl yum install curl 2 编写shell vi restart_apache.sh 写入一下内容 #!/bin/bashURL="http://127.0. ...
- java四大名著
java编程思想effective Javajava核心技术java编程语言 外加: 深入理解java虚拟机 自己动手写java虚拟机 java并发编程的艺术 java常用算法手册 其他计算机需要看 ...
- bzoj 2245: [SDOI2011]工作安排
#include<cstdio> #include<iostream> #include<cstring> #define M 10000 #define inf ...