博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2844(二进制+多重背包)
阅读量:6707 次
发布时间:2019-06-25

本文共 1633 字,大约阅读时间需要 5 分钟。

题意:有一些货币告诉你每种的数量与币值。让你算在m内能组合成的的数值个数。

思路:数据量比较大,用多重背包的做法是会超时的,所以我们需要用二进制优化,记得以前听过这种写法,但是没有写过。今天终于做到这种题了第一次写参考了http://blog.csdn.net/hellobabygogo3/article/details/8013350 主要思路就是用二进制能组成所有v[i]以下的数。

代码如下:

1 /************************************************** 2  * Author     : xiaohao Z 3  * Blog     : http://www.cnblogs.com/shu-xiaohao/ 4  * Last modified : 2014-04-02 22:58 5  * Filename     : hdu_2844.cpp 6  * Description     :  7  * ************************************************/ 8  9 #include 
10 #include
11 #include
12 #include
13 #include
14 #include
15 #include
16 #include
17 #include
18 #include
19 #include
20 #define MP(a, b) make_pair(a, b)21 #define PB(a) push_back(a)22 23 using namespace std;24 typedef long long ll;25 typedef pair
pii;26 typedef pair
puu;27 typedef pair
pid;28 typedef pair
pli;29 typedef pair
pil;30 31 const int INF = 0x3f3f3f3f;32 const double eps = 1E-6;33 const int LEN = 2001000;34 int dp[LEN];35 int n, m, a[LEN], c[LEN];36 37 int main()38 {39 // freopen("in.txt", "r", stdin);40 41 while(cin >> n >> m){42 if(!n && !m) break;43 memset(dp, 0, sizeof dp);44 for(int i=0; i
> a[i];45 for(int i=0; i
> c[i];46 dp[0] = 1;47 for(int i=0; i
=j*a[i]; k--){51 if(dp[k - j*a[i]]) dp[k] = 1;52 }53 cnt -= j;54 }55 if(cnt){56 j = cnt;57 for(int k=m; k>=j*a[i]; k--) if(dp[k-j*a[i]])dp[k] = 1;58 }59 }60 int ans = 0;61 for(int i=1; i<=m; i++)if(dp[i]) ans ++;62 cout << ans << endl;63 }64 return 0;65 }
View Code

 

转载于:https://www.cnblogs.com/shu-xiaohao/p/3641986.html

你可能感兴趣的文章
网络互连
查看>>
Linux系统,分区错误,根分区磁盘满了
查看>>
员工如何在人工智能时代证明其IT工作价值
查看>>
DevExpress 小贴士
查看>>
在流行的PHP库中发现了用于创建PDF文件的严重安全漏洞
查看>>
仿百思不得其姐项目开发(粗略笔记,后期规范排版和更新)
查看>>
iOS开发之网络编程--小文件下载
查看>>
Nginx配置之location模块和proxy模块
查看>>
Convert SVG to PDF by using iText in Java(ZT)
查看>>
Mybatis分页插件 - PageHelper很好很强大,转载
查看>>
Java,php,Python连接并操作redis实例
查看>>
研磨设计模式之工厂方法模式-3 ——跟着cc学设计系列
查看>>
军哥独家QCIE(囊括CCIE和HCIEv3.0)的全新课程。请大家参阅
查看>>
我的友情链接
查看>>
Openstack组建部署 — Glance Install
查看>>
php 请求参数限制
查看>>
socket实现FTP
查看>>
js Array的一个函数indexOf( )、slice()、splice( )
查看>>
85个国外优秀的响应式网站设计作品范例【系列二】
查看>>
48幅非常搞笑的平面广告作品欣赏(下篇)
查看>>