BZOJ 1042: [HAOI2008]硬币购物( 背包dp + 容斥原理 )

先按完全背包做一次dp, dp(x)表示x元的东西有多少种方案, 然后再容斥一下.
------------------------------------------------------------------------
------------------------------------------------------------------------
1042: [HAOI2008]硬币购物
Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 1524  Solved: 892
[Submit][Status][Discuss]
Description
硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次带di枚ci硬币,买si的价值的东西。请问每次有多少种付款方法。
Input
第一行 c1,c2,c3,c4,tot 下面tot行 d1,d2,d3,d4,s
Output
每次的方法数
Sample Input
3 2 3 1 10
1000 2 2 2 900
Sample Output
27
HINT
数据规模
di,s<=100000
tot<=1000
Source
BZOJ 1042: [HAOI2008]硬币购物( 背包dp + 容斥原理 )的更多相关文章
- 【BZOJ】1042: [HAOI2008]硬币购物(dp+容斥原理)
		
http://www.lydsy.com/JudgeOnline/problem.php?id=1042 一开始写了个O(nv)的背包,果断tle... 看了题解,,好神..用了组合数学中的多重集合方 ...
 - [BZOJ 1042] [HAOI2008] 硬币购物 【DP + 容斥】
		
题目链接:BZOJ - 1042 题目分析 首先 Orz Hzwer ,代码题解都是看的他的 blog. 这道题首先使用DP预处理,先求出,在不考虑每种硬币个数的限制的情况下,每个钱数有多少种拼凑方案 ...
 - [bzoj 1042][HAOI2008]硬币购物(用容斥原理弄背包)
		
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1042 分析: 解法很巧妙,用f[i]表示四种硬币A.B.C.D的数量不考虑的情况下弄成 ...
 - bzoj 1042: [HAOI2008]硬币购物【dp】
		
设f[i]为凑i元的方案数,这个随便dp一下就行了 然后处理限制,我们考虑用容斥,也就是4个超限-3个超限+2个超限-1个超限,这里用状压枚举一下,然后i硬币超限就当做选了d[i]+1个,在s里减去, ...
 - 【bzoj1042】[HAOI2008]硬币购物 背包dp+容斥原理
		
题解: 计数题 首先考虑容斥 这题很明显加了限制状态就很多 考虑没有限制 显然可以直接dp 然后 我们看一下 容斥 某一个使用>=k张 那么其实就是 f[i-k*c[]] 于是这样就可以做了
 - Bzoj 1042: [HAOI2008]硬币购物  容斥原理,动态规划,背包dp
		
1042: [HAOI2008]硬币购物 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1747 Solved: 1015[Submit][Stat ...
 - bzoj 1042: [HAOI2008]硬币购物   dp+容斥原理
		
题目链接 1042: [HAOI2008]硬币购物 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1706 Solved: 985[Submit][ ...
 - BZOJ 1042: [HAOI2008]硬币购物 [容斥原理]
		
1042: [HAOI2008]硬币购物 题意:4种硬币.面值分别为c1,c2,c3,c4.1000次询问每种硬币di个,凑出\(s\le 10^5\)的方案数 完全背包方案数? 询问太多了 看了题解 ...
 - BZOJ 1042: [HAOI2008]硬币购物 容斥+背包
		
1042: [HAOI2008]硬币购物 Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买si的价值的东西.请 ...
 
随机推荐
- Creating a Broker (创建代理)
			
1,CMD中运行 2,apollo的目录结构. bin 执行相关的脚步. etc 保存实例的配置文件 data 存储消息的文件 log 日志 tmp 临时的文件 3,Broker Configu ...
 - Java垃圾回收初步理解
			
Java技术提供了一个系统级的线程,即垃圾收集器线程(线程优先级低),垃圾收集线程在一个Java程序中的执行是自动的,不能强制执行, 可以手动调用java.lang.System.gc(),通知JVM ...
 - 利用python进行数据分析之绘图和可视化
			
matplotlib API入门 使用matplotlib的办法最常用的方式是pylab的ipython,pylab模式还会向ipython引入一大堆模块和函数提供一种更接近与matlab的界面,ma ...
 - js面向对象的三大特性
			
0x00:使用OOP技术,常常要使用许多的代码模块,每个模块都提供特定的功能,每个模块老师孤立的,甚至与其它的模块完全独立,这种模块化的编程方法大大的提供了代码实现的多样性,大大增加了代码的重用性.j ...
 - python --appium搭建环境过程 ---新手总结(大牛勿喷,新手互相交流)
			
首先安装python 安装包:https://yunpan.cn/cSdYZqjJ4xDZ3 访问密码 4bf9 1.安装pip cd 到pip安装包 python setup.py inst ...
 - 使用 dotnet watch 开发 ASP.NET Core 应用程序
			
使用 dotnet watch 开发 ASP.NET Core 应用程序 原文:Developing ASP.NET Core applications using dotnet watch作者:Vi ...
 - ddraw 视频下画图 不闪烁的方法
			
我们如果是在在RGB视频上画图(直线,矩形等),一般采用双缓冲区继续,使用内存MemoryDC,来实现画的图形在视频上显示不闪烁的功能,但是我们知道用RGB显示视频都是使用GDI进行渲染,这样很耗CP ...
 - HDU 1130 How Many Trees?
			
裸的卡特兰数 C++#include<iostream> #include<cstdio> using namespace std; #define base 10000 #d ...
 - Three Swaps DFS
			
E. Three Swaps time limit per test 1 second memory limit per test 256 megabytes input standard input ...
 - Oracle 集群心跳及其參数misscount/disktimeout/reboottime
			
在Oracle RAC中,能够从多个层次,多个不同的机制来检測RAC的健康状况,即能够通过心跳机制以及一定的投票算法来隔离故障.假设检測到某节点失败,则存在故障的节点将会被逐出集群以避免故障节点破坏数 ...