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

Atcoder abc257 E

E - Addition and Multiplication 2

题意:

给你一个数字n表示你现在拥有的金额

然后给你1~9每个经营额所需要的成本, 设总经营额为x, 当前使用的经营额为y, 则每一次使用经营额时都有x=10*x+y

问, 如何在使用不大于成本数量的金额下, 使得经营额最高

例如:

5
5 4 3 8 1 6 7 6 4

成本为5

接下来为1~9的经营额

1 2 3 4 5 6 7 8 9

5 4 7 8 2 6 7 6 3

先选择9的经营额: 现在有x=0+9 此时n=5-3=2

再选择5的经营额: 现在有x=9*10+5 此时n=2-2=0

首先根据贪心的思想

我们很容易想得到, 想要尽可能得到一个大的数字, 先考虑位数更大, 再考虑高位数字更大

那么对于此题

我们先算出成本在1~9的经营额下最小的成本能使用的最多次数(也就是考虑多的位数)

次数=总成本/经营额下的最小成本

算出次数之后考虑数字能否在保持位数最大的同时在高位数字贪心

void solve()
{cin>>n;ll mmin=0x3f3f3f3f;for(int i=1;i<=9;i++){cin>>arr[i];mmin=min(mmin,arr[i]);//找出成本最小的数字}m=n/mmin;//最大位数for(int i=0;i<=m;i++)/对每一位数枚举 从高位开始枚举for(int j=9:j>=1;j--)//贪心{if(n-arr[j]>=mmin*(m-i))//保持位数最大的同时在高位数字贪心{n-=arr[j];cout<<j;break;}}return;
}

http://www.lryc.cn/news/20188.html

相关文章:

  • 模拟退火算法改进
  • SpringBoot+HttpClient+JsonPath提取A接口返回值作为参数调用B接口
  • JUC 之 CompletableFuture
  • 7-vue-1
  • OpenAPI SDK组件介绍
  • 【Java】Synchronized锁原理和优化
  • 西北工业大学2020-2021学年大物(I)下期末试题选填解析
  • PHP - ChatGpt API 接入 ,代码,亲测!(最简单!)
  • 物联网MQTT协议简单介绍
  • Dubbo 源码解读:负载均衡策略
  • 吃瓜教程笔记—Task04
  • 进程地址空间(虚拟地址空间)
  • 【项目精选】基于Vue + ECharts的数据可视化系统的设计与实现(论文+源码+视频)
  • JavaScript Window Screen
  • 【双重注意机制:肺癌:超分】
  • 各种中间件的使用
  • Systemverilog覆盖率的合并和计算方式
  • (周末公众号解读系列)2000字-视觉SLAM综述
  • 力扣29-两数相除
  • 【MindSpore】安装和使用MindSpore 2.0.0版本简单实现数据变换Transforms功能
  • PRML笔记4-绪论中推断和决策小结
  • DSPE-PEG-Streptavidin;Streptavidin-PEG-DSPE;磷脂聚乙二醇链霉亲和素,科研用试剂
  • Java中的Stream
  • 【数据库】关系数据理论
  • 初阶C语言——结构体【详解】
  • 盘点:9款身份和访问管理工具
  • Linux下的进程地址空间
  • Web Spider Ast-Hook 浏览器内存漫游 - 数据检索
  • 开源启智,筑梦未来!第四届OpenI/O启智开发者大会开幕
  • CS144-Lab6