当前位置: 首页 > news >正文

购物--贪心例题

1.题目

2.思路分析

设已经组合出1-s的值,,即已经得到1,2,3,4,。。。,s,下一步扩展到s+1。当然如果能顺便扩展到s+2,s+3,...,s+v则更好,扩展的越大越好,这样就能用尽量少的面值扩展出更大的数。

只要增加一个最大的 <=当前已经扩展到的值 的数v,就可以保证这些所选的硬币可以扩展到S+V的数。

3.代码呈现

#include<iostream>
#include<algorithm>
using namespace std;
int x, n;
const int N = 1010;
int a[N];
int main()
{int cnt = 0;//答案int s = 0;cin >> x >> n;for(int i = 0; i < n; i++){cin >> a[i];}sort(a, a + n);if (a[0] != 1){cout << "-1" << endl;return 0;}while(s<x){//因为正序的话只要有1,就不会往下执行了for (int j = n-1; j >=0; j--){if (a[j] <= s+1){cnt++;s += a[j];break;}}}cout << cnt << endl;return 0;
}

http://www.dtcms.com/a/289010.html

相关文章:

  • LLM指纹底层技术——噪声鲁棒性机制
  • 英伟达:拓展LLM训练过程
  • Day1||Vue指令学习
  • 小红书 MCP 服务器
  • MLA:KV Cache 的“低秩跃迁”
  • Android 项目中如何在执行 assemble 或 Run 前自动执行 clean 操作?
  • 7.19-7.20 Java基础 | File类 I/O流学习笔记
  • Python 单例模式几种实现方式
  • 【AI】模型接入初始化(Lanchain4j)
  • Effective Python 条款13:通过带星号的unpacking操作来捕获多个元素,不要用切片
  • 第十八节:第六部分:java高级:注解、自定义注解、元注解
  • 响应式编程入门教程第八节:UniRX性能分析与优化
  • BIOS+MBR微内核加载loader程序实现过程
  • 从零开始开发纯血鸿蒙应用之跨模块路由
  • 编程语言Java入门——核心技术篇(一)封装、继承和多态
  • 【图文详解】Transformer架构详细解析:多头自注意力机制、qkv计算过程、encoder架构、decoder架构以及mask的意义
  • Request和Response相关介绍
  • 假如只给物品编号和物品名称,怎么拆分为树形结构(拆出父级id和祖籍列表),用于存储具有层级关系的数据。
  • 高效培养AI代理的全能工具:Agent Reinforcement Trainer
  • Windows CMD(命令提示符)中最常用的命令汇总和实战示例
  • 【unitrix】 6.10 类型转换(from.rs)
  • 【windows 终端美化】Windows terminal + oh-my-posh 来美化命令行终端
  • Word for mac使用宏
  • 对粒子群算法的理解与实例详解
  • MybatisPlus-13.扩展功能-DB静态工具
  • Twisted study notes[2]
  • Linux——进程的退出、等待与替换
  • ThinkSound:阿里开源首个“会思考”的音频生成模型——从“看图配音”到“听懂画面”的技术跃迁
  • C++ Primer(第5版)- Chapter 7. Classes -004
  • Dockerfile配置基于 Python 的 Web 应用镜像