POJ 1742 Coins(dp)

windows局域网文件夹共享 windows局域网共享文件夹,亲测,包括可能出现的一些问题解决 阅读详情

Language:
Coins
Time Limit: 3000MS Memory Limit: 30000K
Total Submissions: 29278 Accepted: 9916

Description

People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony opened his money-box and found there were some coins.He decided to buy a very nice watch in a nearby shop. He wanted to pay the exact price(without change) and he known the price would not more than m.But he didn't know the exact price of the watch. 
You are to write a program which reads n,m,A1,A2,A3...An and C1,C2,C3...Cn corresponding to the number of Tony's coins of value A1,A2,A3...An then calculate how many prices(form 1 to m) Tony can pay use these coins. 

Input

The input contains several test cases. The first line of each test case contains two integers n(1<=n<=100),m(m<=100000).The second line contains 2n integers, denoting A1,A2,A3...An,C1,C2,C3...Cn (1<=Ai<=100000,1<=Ci<=1000). The last test case is followed by two zeros.

Output

For each test case output the answer on a single line.

Sample Input

3 10
1 2 4 2 1 1
2 5
1 4 2 1
0 0

Sample Output

8
4

Source




就是输入钱币种类,数量,问可以组合出来的钱币面值种类数量



#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 100007

int dp[N],sum[N];
int va[200],all,n,num[200];

int main()
{
    int i;
    while(scanf("%d%d",&n,&all),n+all)
    {
        for(i=0;i<n;i++)
            scanf("%d",&va[i]);

        for(i=0;i<n;i++)
            scanf("%d",&num[i]);

        for(i=0;i<=all;i++)
            dp[i]=0;
        dp[0]=1;

        int j,ans=0;

        for(i=0;i<n;i++)
        {
            for(j=0;j<=all;j++)
                sum[j]=0;      //这里的意思是当前这一种钱币在任何一种钱币面值下都没有使用过

            for(j=va[i];j<=all;j++)
                if(!dp[j]&&dp[j-va[i]]&&sum[j-va[i]]<num[i])
            // 没有组合出来, j-va[i]组合出来  并且j-va[i]这种钱币用的va[i]次数小余num[i]
            {
                dp[j]=1;
                sum[j]=sum[j-va[i]]+1;
                ans++;
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}





【异常检测】新版异常检测库anomalib的使用 异常检测库anomalib的使用。 阅读详情

相关推荐

利用MobaXterm解密Session密码的实战指南

本文提供了利用MobaXterm解密Session密码的详细实战指南,帮助运维工程师和开发者在忘记密码时找回加密存储的远程连接信息。通过Python脚本和注册表操作,逐步解析MobaXterm的AES加密机制,实现密码解密,并分享安全建议和常见问题解决方案。

weixin_26759093的博客 232

Coins/POJ 1742/DP

Coins/POJ 1742/DP 题目 People in Silverland use coins.They have coins of value A1,A2,A3…An Silverland dollar.One day Tony opened his money-box and found there were some coins.He decided to buy a very ni...

weixin_45600829的博客 157

从SolidWorks到URDF:插件使用、关节配置与PyBullet仿真避坑指南

本文提供了一份从SolidWorks导出URDF模型并导入PyBullet进行仿真的完整实战指南。详细讲解了SolidWorks插件的正确安装与配置、关节类型的选择与坐标系对齐的核心技巧,并针对PyBullet仿真中常见的模型散架、路径错误、物理属性异常等问题提供了深度避坑解决方案,帮助机器人开发者高效完成从设计到仿真的全流程。

weixin_29081101的博客 542

[POJ1742 Coins]DP

题目链接 http://poj.org/problem?id=1742 Coins Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 31612   Accepted: 10756 Description People in Silverland use c

chenningGo的博客 490

数字IC设计避坑指南:为什么477条net的DRV问题无法修复?解析don‘t touch hierarchy的影响

本文深入解析了数字IC后端实现中,因“don't touch hierarchy”约束导致大量DRV违规(如477条net)无法自动修复的根本原因。文章以Cadence Innovus工具为例,详细阐述了DRV修复机制与设计保护约束的冲突原理,并提供了从日志定位、风险评估到分级解除约束的完整实战策略,帮助工程师有效解决此类设计收敛难题。

hope8的博客 290

GaN制备micro-led(一)

随着第三代半导体 GaN 材料的快速发展,GaN 基 LED 发展迅速并广泛商业化,这 为可见光通信的实现及应用提供了基础。然而,普通商用 LED 的调制带宽只有几十兆 赫兹,并不能很好的满足可见光通信系统高传播速率的需求。为增大调制带宽,针对发 射端 LED 光源部分的改进仍需提高。将光子晶体结构引入 LED 芯片量子阱内部,能够 影响光子寿命和光子传播,进而改变 LED 芯片的调制带宽和光提取效率。结合倒装微 尺寸(Micro)LED 结构,使其封装体积最小化,这使得可见光通信能够更加灵活地.

weixin_45852211的博客 896

POJ - 1742 Coins 背包dp变形

POJ 1742 首先多重背包有一种普通的二进制优化,然后这题还可以加一个判断如果,a[i] * c[i] &gt;= m 的话,那就和完全背包一样,不用多重背包。这样应该能过。 第二种做法,是参考了完全背包,完全背包可以用O(nm)的复杂度完成,是因为,遍历m的时候没有数量的限制。那对于这题多重背包,就要考虑在dp里面加上当前物品用掉的数量信息,从而达到完全背包的复杂度。所以用dp[i][j...

GeN的博客 307

18、动态系统响应分析

本文系统地介绍了动态系统响应的分析方法,涵盖传递函数建模、特殊输入下的响应特性(如脉冲和阶跃响应)、终值与初值定理的应用、系统直流增益的计算,并深入探讨了一阶和二阶系统的时域特性。通过实例分析与MATLAB仿真,展示了不同参数对系统行为的影响。文章还总结了系统响应在控制设计与故障诊断中的实际应用,并展望了多变量、非线性及实时响应分析的未来研究方向。配合流程图,提供了清晰的系统分析与设计路径。

kite3的博客 141

【题解】Coins POJ - 1742 ⭐⭐ 【dp 多重部分和】

Coins POJ - 1742 给出硬币面额及每种硬币的个数,求从1到m能凑出面额的个数。 Input 多组数据,每组数据前两个数字为n,m。n表示硬币种类数,m为最大面额,之后前n个数为每种硬币的面额,后n个数为相应每种硬币的个数。 (n<=100,m<=100000,面额<=100000,每种个数<=1000) Output RT Examples Sample I...

Suprit's blog 846

Cadence OrCAD Capture 原理图中创建差分对约束的两种常用方法

本文介绍在原理图设计阶段,添加差分对的方法。

fydar的博客 3931

使用R语言实战:构建Logistic回归模型

Logistic回归是一种基于概率的分类算法,它用于预测离散的结果变量(也称为响应变量或因变量)。与线性回归不同,Logistic回归的输出是一个概率值,通常在0和1之间。这使得它非常适合处理二分类问题。市场营销:预测客户是否会购买某个产品。医学研究:预测疾病的发生与否。信用风险评估:预测个人申请贷款的违约风险。社会科学:预测个人对某个政策的态度。

2301_79331230的博客 1140

[POJ 1742] Coins 【DP】

题目链接:POJ - 1742 题目大意 现有 n 种不同的硬币,每种的面值为 Vi ,数量为 Ni ,问使用这些硬币共能凑出 [1,m] 范围内的多少种面值。 题目分析 使用一种 O(nm) 的 DP (据说这是类多重背包?),枚举每一种硬币,对于每一种硬币 i 枚举每一个面值 j ,如果这个面值 j 使用前 i-1 种硬币已经可以凑出,就直接跳过,否则尝试加入一个硬币 i ...

weixin_30293079的博客 81

基于opencv人脸识别实现课堂抬头率检测系统 完整代码 可直接运行 作为毕设

基于opencv人脸识别实现课堂抬头率检测系统 完整代码 可直接运行 作为毕设

机器学习深度学习业余选手 1146

POJ_1742 Coins(DP)

题目链接 题解: 这道题和杭电上的2844是一样的,但是poj上面的数据可能要强一些。在杭电上可能模板多重背包就可以过,但是这里就要变通一下,今天再做到,配合着杭电2844,把这道题的做法好好整理了一下,一共三种方法dp。 方法一:多重背包记录状态 因为题目只要求得到有多少个可达,所以可以用bool表示dp数组,变化递推式,最后压线AC。 递推式变化为 dp[i] |= dp[i

EaShion1994的专栏 511

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

POJ--1742 Coins(DP,多重背包)

POJ–1742 Coins 给定N种硬币,其中第 i 种硬币的面值为Ai,共有Ci个。 从中选出若干个硬币,把面值相加,若结果为S,则称“面值S能被拼成”。 求1~M之间能被拼成的面值有多少个。 输入格式 输入包含多组测试用例。 每组测试用例第一行包含两个整数N和M。 第二行包含2N个整数,分别表示A1,A2,…,AN和C1,C2,…,CN。 当输入用例N=0,M=0时,表示输入终止,且该用例无...

qq_43148759的博客 342

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

POJ 1742 Coins (dp)

Coins Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 29974   Accepted: 10171 Description People in Silverland use coins.They have coins of value A1,A2,A3.

TaoSama's Microcosm 488

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

poj 1742 Coins dp 多重背包 优化

《挑战》练习题,楼天城男人八题。

ned_chu的博客 555

POJ 1742 Coins——dp

#include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std; const int maxn = 1e5 + 10; int n, m, a[maxn], c[maxn], dp[maxn]; int main() {...

hao_zong_yin的博客 361

POJ1742 Coins(DP)

Coins 思路 没分析复杂度写了个二进制拆分,然后做010101背包O(nlog(c)m)>10e7了O(nlog(c)m) > 10e7了O(nlog(c)m)>10e7了,所以还是想办法优化吧。 我们引入一个needneedneed数组,need[j]need[j]need[j]表示,在枚举到第iii件物品的时候要得到jjj这个状态,需要物品iii的最小个数。 所以在转移的时候我们只要考虑$need[j - a[i]] < c[i] ? ,如果是符合要求的,并且,如果是符合要求

lifehappy 379

POJ 1742 Coins (DP)

题目类型  DP 题目意思 给出拥有的金钱 k ( 0 其中道路由四个变量 S  D  L T 描述  S 表示起点城市 D 表示终点城市 L 表示路的长度 T 表示经过这条路要收的过路费 现在问在不花费超过 k 的情况下从城市 1 到 n 最短的路径是多少 解题方法 DFS + 剪枝 当钱不够付过路费时终止 当目前的路径长度比前面搜到的最好

yunyouxi0's blog 918

Coins [POJ1742] [DP]

Description 给出硬币面额及每种硬币的个数,求从1到m能凑出面额的个数。 Input 多组数据,每组数据前两个数字为n,m。n表示硬币种类数,m为最大面额,之后前n个数为每种硬币的面额,后n个数为相应每种硬币的个数。 (n<=100,m<=100000,面额<=100000,每种个数<=1000) ...

weixin_30695195的博客 119

【POJ 1742】Coins【DP】【多重背包】

题目大意: 题目链接:http://poj.org/problem?id=1742 有nnn种面值不同的硬币,每种有c[i]c[i]c[i]个。求1到mmm有多少面值可以用这些硬币凑成? 思路: 很明显的完全背包。。。 前面WA,TLE,RE,CEWA,TLE,RE,CEWA,TLE,RE,CE全是用二进制拆分做的。。。后来实在没办法打了书上的方法。 设f[i]f[...

stoorz 446

POJ1742 Coins DP

题意: 给n种硬币,每种ci个。问在1到m的范围内,有多少种面值的硬币组合。 思路: 取一个bool dp[m]的数组。true代表可以取到,false代表不能取到。 当取到val[i]时,假设1到i-1可以构成最大值为mx,最小值显然为0. 所以当取now=val[i],对dp的影响区间为[now,mx+now]. 枚举now if(dp[j-now])dp[j]=true; 代

Aszxqw 972

POJ 1742 coins (dp)

题目大意是给出一些面值的硬币和数量。问在1-m中能凑出多少种钱。 设 dp[i+1][j] 为前i种凑成j元第i种最多剩下多少。 1. dp[i+1][j] = mi ( dp[i][j]>=0) 前i-1种已经能凑成j了 2.dp[i+1][j] = -1 ( j<a[i] || dp[i+1][j-a[i]] <=0 ) 3. dp[i+1][j] ...

aiezhen1717的博客 124

【POJ】剑指DP:1742.Coins

0.概述 楼天城男人八题之一,据说是最简单的一题。 有若干种面值的硬币,每种面值的数量都是有限的。问用这一堆硬币,一共能拼凑出多少种总价值(最大到m)? 1.分析 背包问题,一共能拼成多少种总价值,那就从1开始一直数到m,设当前为w。背包容量为w,问题转为能否把背包恰好装满。 是多重背包问题。 多重背包找可行性,那么是有套路的。写dp表,dp[i][j]的含义是用前i种硬币,组成总数为j,第i种硬币还剩多少,有一说一,这么绕,让我自己想肯定想不出。 那么对于dp[i+1][j],其含义是:用前i+1种硬币,

四轩茶屋 281

poj 1742 coins dp

题目描述银岛上的人使用银岛币。这些金币分别价值A1,A2,A3…An银岛币。一天托尼打开他的钱包,发现有一些银岛币。他决定在附近商店买一个非常好的表。他想给商店正好的钱(就是商店不用找零)并且他知道表的价格不会超过m银岛币。但他不知道表的精确价格。 你的任务是写一个读入A1,A2,A3…An和C1,C2,C3…Cn的程序。(C1,C2,C3…Cn表示托尼有A1,A2,A3…An的个数)判断1到m中

A_loud_name 411
上一篇: HDU 1159 Common Subsequence(dp LCS)
下一篇: HDU 2955 Robberies(dp)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值