532. 货币系统
题目链接
532. 货币系统
在网友的国度中共有 种不同面额的货币,第 种货币的面额为 ,你可以假设每一种货币都有无穷多张。
为了方便,我们把货币种数为 、面额数组为 的货币系统记作 。
在一个完善的货币系统中,每一个非负整数的金额 都应该可以被表示出,即对每一个非负整数 ,都存在 个非负整数 满足 的和为 。
然而,在网友的国度中,货币系统可能是不完善的,即可能存在金额 不能被该货币系统表示出。
例如在货币系统 , 中,金额 就无法被表示出来。
两个货币系统 和 是等价的,当且仅当对于任意非负整数 ,它要么均可以被两个货币系统表出,要么不能被其中任何一个表出。
现在网友们打算简化一下货币系统。
他们希望找到一个货币系统 ,满足 与原来的货币系统 等价,且 尽可能的小。
他们希望你来协助完成这个艰巨的任务:找到最小的 。
输入格式
输入文件的第一行包含一个整数 ,表示数据的组数。
接下来按照如下格式分别给出 组数据。
每组数据的第一行包含一个正整数 。
接下来一行包含 n 个由空格隔开的正整数 a[i]。
输出格式
输出文件共有 行,对于每组数据,输出一行一个正整数,表示所有与 等价的货币系统 中,最小的 。
数据范围
输入样例:
输出样例:
解题思路
数学
即求解最大线性无关组,对于最后选的面额,且其中没有多余的数,即任何一个 ,不能由其他数系数非负表示出来,而且其一定可以表示 中的任何一个数,反之亦然,假设 ,则由题意 ,其中 为正整数,而每个 又可以由 非负表示,即 可由其他 表示,则 是多余的,矛盾,故 序列是从 序列中选出来的,另外由于大数往往是从小数中组合出来的,所以先排序再筛那些可表示的数
设最大面额为 ,则:
- 时间复杂度:
代码
__EOF__

本文作者:acwing_zyy
本文链接:https://www.cnblogs.com/zyyun/p/15957473.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zyyun/p/15957473.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!