题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=2082

题目描述:

假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26。那么,对于给定的字母,可以找到多少价值<=50的单词呢?单词的价值就是组成一个单词的所有字母的价值之和,比如,单词ACM的价值是1+3+14=18,单词HDU的价值是8+4+21=33。(组成的单词与排列顺序无关,比如ACM与CMA认为是同一个单词)。

解题思路:

首先说明一下母函数——1.“把组合问题的加法法则和幂级数的乘幂对应起来。”

2.“把离散数列和幂级数一 一对应,把离散数列间的相互结合关系对应成为幂级数间的运算关系,最后由幂级数形式来确定离散数列的构造。 “

通俗一点说母函数就是用于解决多重集排列的指数型函数,比如说递归数列的通项问题(斐波那契数列的通项公式)神马的。

所以这里运用母函数开始当作背包处理,字母数是个数,分数是容量。然后统计计算出题目要求的小于50的即可~

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main () {int t,x,i,j,k;int a[27],f[27][55];scanf ("%d", &t);while (t--) {for(i=0;i<=26;i++)memset(f[i],0,sizeof(f[i]));x=0;for(i=0;i<=26;i++)f[i][0]=1;for(i=1;i<=26;i++)scanf("%d",&a[i]);for(i=1;i<=26;i++)for(j=1;j<=50;j++) {f[i][j]=f[i-1][j];for(k=1;k<=a[i]&&j-i*k>=0;k++)f[i][j]+=f[i-1][j-i*k];}for (i=1;i<=50;i++)x+=f[26][i];printf ("%d\n",x);}return 0;
}

母函数——找单词(hdu2082)相关推荐

  1. HDU2082 找单词【母函数】

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

  2. HDU-2082 找单词 母函数

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

  3. 42翻转单词顺序列+注意该题找单词的方法

    题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,"st ...

  4. 7-30 找单词——多重背包求方案数

    假设有x1个字母A, x2个字母B,- x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,- 字母Z的价值为26.那么,对于给定的字母,可以找到多少价值<=50的单词呢?单词的价值就是 ...

  5. PTA 找单词 (15分)(bfs)

    7-2 找单词 (15分) 假设有x1个字母A, x2个字母B,- x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,- 字母Z的价值为26.那么,对于给定的字母,可以找到多少价值<= ...

  6. 找单词(母函数问题)

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

  7. [ACM] hdu 2082 找单词 (母函数)

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

  8. hdu 2082 找单词(母函数)

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  9. java句子中找单词_java程序找到一个句子中每个单词的字母数

    我想找到一个句子中每个单词的字母数.我已经尝试了几次使用几个代码,但从来没有得到它.我总是显示错误StringIndexOutOfBounds异常.我的一个代码如下:java程序找到一个句子中每个单词 ...

最新文章

  1. mysql中的表连接知识点_Mysql知识点总结
  2. IdentityServer4 知多少
  3. [:zh]<机械课程设计>第三张表自动计算部分 Android安装包[:]2017-12-20
  4. Java BigDecimal初探
  5. 互联网账户系统的具体实现
  6. 啊哈java_1.桶排序——啊哈算法java实现
  7. Spring Boot 实现登录拦截器,这才是正确的姿势!!
  8. Xiaomi Civi即将发布 雷军:宽度仅71.5mm 刚刚好的握持感
  9. 正在成为史上最全分类 Android 开源大全
  10. python代码的层次结构_Python:父子层次结构的组合
  11. BZOJ1966: [Ahoi2005]VIRUS 病毒检测 Trie+搜索
  12. 九江学院计算机考研,2017年江西财经大学与九江学院联合培养考研招生事宜的通知...
  13. kotlin的先决条件函数
  14. 【OpenCV入门教程之五】 分离颜色通道多通道图像混合
  15. 水的黏度 Viscosity of Water
  16. 859-细谈安全的 HTTPS 协议
  17. P2P网络——网络模型概述
  18. steam android app,steam手机版
  19. java中强耦合是什么意思_什么是Java程序的耦合
  20. python可迭代_python中可迭代对象有哪些

热门文章

  1. 3 CO配置-企业结构-分配-把公司代码分配给成本控制范围
  2. 计算机网络 socket,[计算机网络]简单聊聊套接字 Socket
  3. linux系统sudoers文件夹权限777以及/etc/profile文件修改后无法进入系统问题
  4. 云计算交流会计算机操作,计算机二级考试真题-word-小王-云计算技术交流大会...
  5. Oracle 分页与排序功能的4个查询语句
  6. java steam filter 动态条件_Filter解决全站编码问题
  7. python开发效率高吗_从运行效率与开发效率比较Python和C++
  8. nginx下部署vue项目概览 - (资源篇)
  9. newsinglethreadexecutor使用场景_java中Future的使用
  10. tensorflow 转张量类型为float_TensorFlow是什么?怎么用?终于有人讲明白了