hdu 2079 - 选课时间
地址
http://acm.hdu.edu.cn/showproblem.php?pid=2079
定位
排列组合问题
母函数
分析
物品种类数 kk,第 ii 行输入:物品价值 v[i]v[i],物品数量 n2[i]n2[i]。
母函数
g(x)=(1+xv[1]+...+xn2[1]v[1])...(1+xv[i]+...+xn2[i]v[i])...(1+xv[k]+...+xn2[k]]v[k])g(x)=(1+x^{v[1]}+...+x^{n2[1]v[1]})...(1+x^{v[i]}+...+x^{n2[i]v[i]})...(1+x^{v[k]}+...+x^{n2[k]]v[k]})
代码
- #include <iostream>
- #include <stdio.h>
- #include <string.h>
- using namespace std;
- int a[1001],b[1001];
- int v[9],n1[9],n2[9];
- /*************************************************
- Function: GenerateFunc(int N,int P)
- Description: 生成函数系数计算
- Input: int N : 相乘的因子个数
- int P : 待求的最大指数
- Output: void
- Return: void
- Others: 修改的全局变量 a[] b[]
- 只读的全局变量 v[] n1[] n2[]
- *************************************************/
- void GenerateFunc(int N,int P) {
- memset(a,0,sizeof(a));
- a[0]=1;
- for(int i=0; i<N; i++) {
- memset(b,0,sizeof(b));
- for(int j=n1[i]; j<=n2[i]&&j*v[i]<=P; j++) {
- for(int k=0; k+j*v[i]<=P; k++) {
- b[k+j*v[i]]+=a[k];
- }
- }
- memcpy(a,b,sizeof(b));
- }
- }
- int main() {
- int T;
- memset(n1,0,sizeof(n1));
- scanf(”%d”,&T);
- while(T–) {
- int n,k;
- scanf(”%d %d”,&n,&k);
- for(int i=0; i<k; i++) {
- scanf(”%d %d”,&v[i],&n2[i]);
- }
- GenerateFunc(k,n);
- printf(”%d\n”,a[n]);
- }
- }
性能
Exe.Time | Exe.Memory | Code Length | Language |
---|---|---|---|
15MS | 1872K | 1168B | c++ |
hdu 2079 - 选课时间相关推荐
- HDU 2079 选课时间
http://acm.hdu.edu.cn/showproblem.php?pid=2079 Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点, ...
- 杭电ACM hdu 2079 选课时间 (模板)
Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合.你来帮帮他吧.(xhd认为一样学分的课没区别) Input ...
- HDU 2079 选课时间(题目已修改,注意读题) 母函数 || 多重背包
今天做这题才知道原来母函数的原型不是从第二个括号开始,那不过是优化而已,除了1^n,2^n那种类型可以从2开始外其他都要从1开始.好了,上代码吧. #include<stdio.h> in ...
- HDU 2152 选课时间(题目已修改,注意读题) (母函数)
选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 母函数+例题(hdu 2079+hdu 2082)
母函数+例题(hdu 2079+hdu 2082) 虽然ACM的确有点力不从心,但是还是贵在坚持,继续啃啃算法..... 昨天一个下午学了学母函数,离散数学+幂级数,只能说nb- 看了半天的原理,结果 ...
- HDU-2079 选课时间(题目已修改,注意读题) -母函数
选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU2079 选课时间【母函数】
选课时间 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...
- HDU 2079-课程时间(生成函数)
课程时间(标题已被修改,注意阅读题) Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 【hdoj_2079】选课时间(母函数)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2079 此题采用母函数的知识求解,套用母函数模板即可: http://blog.csdn.net/ten_s ...
- hdu 2078 复习时间
复习时间 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
最新文章
- python翻译成计算机是啥_基于Python的业英语翻译器实现
- 自然语言处理综述_自然语言处理
- javascript --- [小练习]变量提升、优先级综合
- 在OpenShift上托管的WildFly实例上进行Arquillian测试
- 微信小程序 设置背景占满整个页面
- html新增伪类,css3新增伪类有哪些
- android webview js交互 第一节 (java和js交互)
- 智能家居简单实现---使用ESP8266简单实现和APP通讯
- java获取资源文件的各种方法
- PSD分层可临摹模板|无线端电商页面UI设计几个常见的错误
- 实验4-1-8 求给定精度的简单交错序列部分和 (15 分)
- 饥荒中皮弗娄牛神龛献祭什么拿什么供奉
- golang 实现http mock server
- Video.js使用教程一(详解)
- 关闭计算机安全模式,怎么关闭安全模式,bios安全启动模式
- 【B站】陈睿:令人刮目相看的年轻一代
- 50首经典好听的英文歌曲!
- 微型计算机 2018 12月下,桌面CPU天梯图2018年12月最新版 十二月台式电脑处理器排名...
- 魔戒世界服务器维护,我的世界魔戒 The Lord of the Rings 服务器1.7.10
- P2P 应用程序框架