首页 > 货币系统
头像 Eihuvita.
发表于 2020-06-01 23:11:57
题意 在网友的国度***有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为n、面额数组为a[1..n]的货币系统记作(n,a)。 在一个完善的货币系统中,每一个非负整数的金额x 都应该可以被表示出,即对每一个非负整数x,都存在n个非负整数 展开全文
头像 zzugzx
发表于 2020-05-26 11:58:41
题目链接 题意:题解:AC代码 /* Author:zzugzx Lang:C++ Blog:blog.csdn.net/qq_43756519 */ #include<bits/stdc++.h> using namespace std; #define fi 展开全文
头像 ThinkofBlank
发表于 2020-05-26 12:14:26
这题我们要这么考虑: 如果一种货币可以被另外的一种或多种货币表示的话,那么这种货币明显就是不必要的。 而答案,明显就是所有必要货币的个数。 那么,我们来考虑下怎么做。 首先,很容易发现的是,面值最小的货币一定是必要的,因为它不可能被其它货币表示。 然后,我们再同样的,看面值次小的,这时,我们有两种情 展开全文
头像 JQK2020
发表于 2020-05-26 16:03:38
题目描述在网友的国度***有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为n、面额数组为a[1..n]的货币系统记作(n,a)。在一个完善的货币系统中,每一个非负整数的金额x 都应该可以被表示出,即对每一个非负整数x,都存在n个非负整数t 展开全文
头像 与人无语
发表于 2020-05-31 09:02:48
我们可以确定最小的是一定存在的 然后按顺序递推 如果后面的不能用前面的表示就加入 不然就不管这其实是一种暴力 用一个数组v[i]表示第i位数是否被表示了 #include <bits/stdc++.h> #define ll long long const int N=110,M=2 展开全文
头像 sunrise__sunrise
发表于 2020-05-27 15:08:54
完全背包 题目意思:给出n个数,问存在最小的和给出数等价的数集合中元素个数。那么根据题目中给出的等价概念,最小的数肯定需要保留,那么是不是只要第二小的数,不是最小的数的倍数那么就也要保留,那么对于第三小的也是如果存在表示第三小,那么第三小也可以舍弃。那么题目就变成了最多需要保留的数的个数。那就完全可 展开全文
头像 平凡的小白
发表于 2020-05-27 15:32:13
题意: 给n种货币,每个面值ai​,数量无限,是否能去掉几种货币,使得原本这几种货币能组成的数仍能组成是否能去掉几种货币,问最后最少能剩下多少货币。 思路: 1.打算化简一下货币系统,其实就是去掉几种货币,说明剩下的货币能表示被减去的货币。2.最小的不能去掉,因为其它的货币表示不了面值最小的货 展开全文
头像 19_hanhan
发表于 2020-06-02 00:48:17
我其实真没发现这是个背包问题 题目 题目描述: 在网友的国度***有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张。 为了方便,我们把货币种数为n、面额数组为a[1..n]的货币系统记作(n,a)。 在一个完善的货币系统中,每一个非负整 展开全文
头像 18duangduang
发表于 2020-05-27 19:27:54
题目大意:有n中货币,每种货币都有无限多个,问是否可以简化货币个数,使得能表示的数个数不变。 分析:容易想到货币中最小的面值肯定要留下,那么考虑第二小的货币是否可以去掉,如果第二小的货币是最小货币的倍数,那么就能去掉。那么考虑第i小的货币是否能够留下,那么我们是要查看已留下的货币能否表示当前的货币 展开全文
头像 精神病科黄主任
发表于 2020-05-30 19:46:49
题目描述在网友的国度***有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为n、面额数组为a[1..n]的货币系统记作(n,a)。在一个完善的货币系统中,每一个非负整数的金额x 都应该可以被表示出,即对每一个非负整数x,都存在n个非负整数t 展开全文