找单词

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 9239    Accepted Submission(s): 6445

Problem Description
假设有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认为是同一个单词)。
 
Input
输入首先是一个整数N,代表测试实例的个数。
然后包括N行数据,每行包括26个<=20的整数x1,x2,.....x26.
 
Output
对于每个测试实例,请输出能找到的总价值<=50的单词数,每个实例的输出占一行。
 
Sample Input
2
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 2 6 2 10 2 2 5 6 1 0 2 7 0 2 2 7 5 10 6 10 2 10 6 1 9
 
Sample Output
7
379297
 
Source
 
Recommend
lcy   |   We have carefully selected several similar problems for you:  2079 1085 1171 1398 2152 
 
这里的a,b,c我们可以看成x,x^2,x^3
这是母函数的一道模板题,要求总价值不大于50的单词数,就是求x的指数小于等于50的系数和
然后就是套用母函数模板了
#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <cstdio>
#include <vector>
#include <string>
#include <cstring>
#include <iterator>
#include <iostream>
#include <algorithm>
#define debug(a) cout << #a << " " << a << endl
using namespace std;
const int maxn = *1e5 + ;
const int mod = ;
typedef long long ll;
int main() {
ios::sync_with_stdio(),cin.tie(),cout.tie();
ll n;
cin >> n;
ll a[], b[];
while( n -- ) {
ll num;
for( ll i = ; i <= ; i ++ ) {
a[i] = b[i] = ;
}
a[] = ;
for( ll i = ; i <= ; i ++ ) {
ll num;
cin >> num;
if( num == ) {
continue;
}
for( ll j = ; j <= ; j ++ ) {
for( ll k = ; k <= num && k*i+j <= ; k ++ ) {
b[i*k+j] += a[j];
}
}
for( ll j = ; j <= ; j ++ ) { //求出乘到现在为此出现的每项的系数
a[j] = b[j];
b[j] = ;
}
}
ll total = ;
for( ll i = ; i <= ; i ++ ) {
total += a[i];
}
cout << total << endl;
}
return ;
}

最新文章

  1. sscanf,sscanf_s及其相关用法
  2. C++ Primer中文版(第5版)(顶级畅销书重磅升级全面采用最新 C++ 11标准)
  3. IntelliJ IDEA---java的编译工具【转】
  4. PHP strpos() 函数
  5. python 多层装饰器
  6. HDU1284钱币兑换问题( 母函数打表)
  7. intellig idea 快捷键
  8. 吐血整理:人工智能PDF中文教材资源包2.73G基本包含全部学习资料-人工智能学习书单
  9. c语言实现:扫雷
  10. HTML设为首页/加入收藏代码
  11. 网站的增 / 删 / 改 / 查 时常用的 sql 语句
  12. 【try..catch..】【判断输入是否为空】【onchange事件】【onmouseover和onmouseout事件】【onmousedown和onmouseup事件】
  13. (转)VS2010反编译dll之后存在的resource修改为resx
  14. 06-java学习-方法的学习
  15. spring+activemq配置文件内容及实现原理
  16. hdu-1147(跨立实验)
  17. js获取url地址的参数的方法
  18. wopihost
  19. AP_建立银行信息总行、分行、账户(设定)
  20. python redis基本概念简单操作

热门文章

  1. 自定义SWT控件五之自定义穿梭框
  2. 的Blog
  3. redis缓存介绍以及常见问题浅析
  4. 【Java例题】1.2计算n的m次方
  5. RBF神经网络
  6. 【Python】狂蟒来袭 | 使用Anaconda搭建Python开发环境
  7. 暴风雨中的 online :.net core 版博客站点遭遇的高并发问题进展
  8. JS扫雷小游戏
  9. c# 读取 txt 文件中数据(int)
  10. 网络安全攻击与防护--HTML学习