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

题解:AT_abc257_e [ABC257E] Addition and Multiplication 2

这道题让我们要 \(x\) 最大,那么什么样的数最大呢?那肯定是位数越多的数越大。那我们在 \(x\) 后面加上什么数字代价最小?

假设我们在 \(x\) 后面放 \(j\) 代价最小,那么我们最多放 \(\lfloor \dfrac{N}{C_j} \rfloor\) 位。那么在位数最多的情况下,什么样的数最大呢?

这道题可以贪心,一位一位地放数字,数字当前能放多大就放多大,数字要大,越往前数字就要尽可能的大,所以我们可以从高位往低位填。

那怎么看这一位能不能填一个数字呢?那就枚举从 \(9\sim 1\) 一个一个试过去,那我们怎么知道这个数字要不要放上去呢?

假设现在我们还剩 \(y\) 日元,假设我们枚举到 \(k\) ,那我们放上去后,后面那些位能用的钱就是 \(y-C_k\),那放不放呢?我们一定要 \(y-C_k\ge C_j\times(9 - k)\),那么我们一位一位确定下来就行。

时间复杂度其实是 \(\mathcal O(n)\),因为假设每个数的代价都是 \(1\),那么一共得枚举 \(n\) 位。

AC记录

#include <bits/stdc++.h>
using namespace std;
#define sc scanf
#define pr printf
int n, c[10];   // c 记的是9个位的代价
int main(){sc ("%d", &n);for (int i = 1; i <= 9; i++)sc ("%d", &c[i]);int m = 1 << 30;for (int i = 1; i <= 9; i++)m = min (m, c[i]);int l = n / m;for (int i = 1; i <= l; i++)for (int j = 9; j; --j)if (n - c[j] >= m * (l - i)){n -= c[j];pr ("%d", j);break;}
}
http://www.jsqmd.com/news/181925/

相关文章:

  • 基于YOLOv8的蜜蜂识别检测系统(YOLOv8深度学习+YOLO数据集+UI界面+Python项目源码+模型)
  • 2025年4轴数控机床优选门店品牌,你知道哪些?4轴数控机床/水暖接头数控机床/无人机配件数控,4轴数控机床批发供应链 - 品牌推荐师
  • 印度尼西亚火山旅游:导游语音讲解地质奇观
  • 题解:AT_abc257_d [ABC257D] Jumping Takahashi 2
  • Python和C#x2B;#x2B;数据结构学习笔记
  • 乌克兰乡村婚礼:新娘父亲致辞感动全场
  • Python如何精准控制3D场景视角?这4个库你必须了解
  • Miller-Rabin素数测试算法
  • 职业面试模拟:求职者练习应对各种问题的回答
  • 社交软件动态播报:好友更新内容自动语音朗读
  • 题解:B4350 [信息与未来 2025] 美味水果
  • 为什么你的模型训练越来越慢?根源可能出在多模态存储结构上
  • 新疆喀纳斯湖:传说水怪出没时的神秘低鸣
  • 告别卡顿视角!Python 3D渲染中的平滑控制优化策略(性能提升90%)
  • 题解:P5663 [CSP-J2019] 加工零件
  • 广东广州早茶:茶楼伙计穿梭间喊出地道粤语
  • 如何用HTTPX在1秒内发起500+异步请求?工程师必备技能曝光
  • 驾校科目二语音指导:学员独立练习时获得标准口令
  • 题解:AT_abc391_c [ABC391C]
  • 揭秘Transformer模型在Python中的显存瓶颈:如何从16GB减至8GB
  • 题解:P2672 [NOIP2015 普及组] 推销员
  • 【紧急避坑指南】:NiceGUI输入校验常见错误及修复方案
  • 香港维多利亚港:灯光秀期间新增AI解说服务
  • 如何用Python构建统一多模态数据湖?这套架构已被大厂验证并投产
  • 波兰犹太区纪念:幸存者语音通过AI得以延续
  • imapi2fs.dll文件丢失损坏找不到 打不开程序 免费下载方法
  • 【Linux命令大全】002.文件传输之lpq命令(实操篇)
  • 【高效开发必备】:FastAPI中绕过不必要预检请求的3种实战方案
  • 题解:P1310 [NOIP2011 普及组] 表达式的值
  • 题解:P5017 [NOIP2018 普及组] 摆渡车