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

代码:

  1. #include "stdio.h"
  2. #include "string.h"
  3. int cal(int m2[]);
  4. int main(){
  5. int T,i,sum;
  6. int c2[];
  7. scanf("%d",&T);
  8. while(T--){
  9. for(i=;i<;i++)
  10. scanf("%d",&c2[i]);
  11. sum=cal(c2);
  12. printf("%d\n",sum);
  13. }
  14. return ;
  15. }
  16. int cal(int m2[]){
  17. int i,j,k,sum=;
  18. int c1[],c2[];
  19. memset(c1,,sizeof(c1));
  20. memset(c2,,sizeof(c2)); //c1用来存结果,c2用来临时保存计算结果
  21. //每次算好结果,就把c2的值给c1,然后再初始化c2.
  22. c1[]=;
  23. for(i=;i<=;i++){ //26个多项式相乘,循环26次 c1[3]代表x^3的系数
  24. for(j=;j<=;j++){ //从0到50遍历,因为指数代表分数,每个指数都考虑一次,不管有没有
  25. for(k=;k<=m2[i] && j+k*i<=;k++){ //注意这里m2数组里是i决定,就是外层的j无论循环几次
  26. //都是由最外层的循环i决定的
  27. //j代表是前面的多项式,k代表是现在被乘的多项式
  28. //c1[j]*c[k*i] 指数相加,系数也相加,系数相加的是c[j]的系数.
  29. c2[j+k*i]+=c1[j]; //c2[0]=1,k++,c2[1]=1,c2[3]=1,c2[4]=1...
  30. //j=1,c2[1]=c1[1]=1,c2[1+1]=c2[2],c2[2]+=c1[2] c2[2]=c2[2]+0...
  31. //c2[50]+=c1[50]
  32. }
  33. }
  34. for(j=;j<=;j++){
  35. c1[j]=c2[j];
  36. c2[j]=;
  37. }
  38. }
  39. for(i=;i<=;i++){
  40. sum+=c1[i];
  41. }
  42. return sum;
  43. }

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. ios使用webview浏览指定网页

    #import "EDRViewController.h" @interface EDRViewController () @property(nonatomic,weak) UI ...

  2. Spring框架的反序列化远程代码执行漏洞分析(转)

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  3. sessionStorage

    for(i=0;i<tkt.length;i++){ if(tkt[i].redEnvelopeType==1){ full1+="<div class='pic_01' id= ...

  4. bower install和cnpm install

    bower install :主要是安装前端的相关框架,如Boostarp,Angular等 cnpm install :主要是安装后端的,如express等

  5. jQuery clone()方法绑定事件

    先看如下代码: (function ($) { var div = $("<div></div>").css({width: "100px&quo ...

  6. HTML5自学笔记[ 21 ]canvas绘图实例之马赛克

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. Qt之QPauseAnimation

    简述 QPauseAnimation类为QSequentialAnimationGroup提供了一个暂停. 如果你想为QSequentialAnimationGroup动画之间添加延迟,可以插入一个Q ...

  8. for循环的嵌套——7月24日

      练习一:输入一个正整数,用for循环嵌套求阶乘的和 //输入一个正整数,求1!+2!+....+n! 用for循环嵌套 Console.Write("请输入一个正整数:"); ...

  9. Objective-C:@property参数详解

    格式:@property(param1, param2) 类型 属性名 参数可有可无 三类参数: 1.读写属性:readwrite/readonly readwrite:产生setter\getter ...

  10. C语言知识整理(3):内存管理(详细版)

    在计算机系统,特别是嵌入式系统中,内存资源是非常有限的.尤其对于移动端开发者来说,硬件资源的限制使得其在程序设计中首要考虑的问题就是如何有效地管理内存资源.本文是作者在学习C语言内存管理的过程中做的一 ...