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. 禁止chrome浏览器自动填充表单的解决方案

    经过测试,对chrome42,重写input: auto-fill样式不起作用,加上autocomplete="off"也不起作用. 因此使用了两个隐藏的输入框: <inpu ...

  2. eclipse导入git项目(转)

    1.首先在github.com上申请一个账号2.Eclipse需要安装egit插件,在Eclipse中选择help->Marketplace,在search中输入egit,找到后安装即可 3.从 ...

  3. 在excel单元格中提取信息

    平时在excel中处理数据的时候,肯定会遇到在单元格提取信息的情况,比如在地址中提取省.市.地区等,如果数据源内容规整的话,可以直接使用left().right().mid()等函数直接提取,但是大多 ...

  4. WebService是什么

    Webservice的一个最基本的目的就是提供在各个不同平台的不同应用系统的协同工作能力. 其实WebService并不是什么神秘的东西,它就是一个可以远程调用的类,或者说是组件. 为什么要使用Web ...

  5. <mvc:annotation-driven />注解意义

    <mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案. <mvc:annotation-dr ...

  6. easyui $.parser.parse 页面重新渲染

    一些dom元素是动态拼接上的easui的样式,由于页面已经渲染过了,所以需要手动执行渲染某个部件或者整个页面 $.parser.parse(); // parse all the page $.par ...

  7. 20145236 冯佳 《Java程序设计》第3周学习总结

    20145236 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 一.面向对象和面向过程 •面向对象是相对面向过程而言 •面向对象和面向过程都是一种思想 •面向过程 ...

  8. express+nodecoffee写passport登录验证实例(二)

    二:实现登录认证 passport官网文档:  http://passportjs.org/guide/ passport验证使用一种被称为“策略”的方式来验证请求,策略支持3种类型的验证:用户名密码 ...

  9. 企业级的响应式设计(Responsive design at enterprise level)译

    导言 响应式设计是现在人们谈论的热点,但如何部署,特别是在有多种设备的大型项目中如何组织响应式设计,响应式设计和可伸缩性(Scalable)有什么区别?这都是需要解决的难题. 优化用户经验——Opti ...

  10. chkconfig命令

    chkconfig --list                  #列出系统所有的服务启动情况chkconfig --add xxx           #增加xxx服务chkconfig --de ...