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

云短信平台优惠活动

题目描述

某云短信厂商,为庆祝国庆,推出充值优惠活动。
现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。
输入描述:
第一行客户预算 M M M,其中 0 < = M < = 1000000 0<=M<=1000000 0<=M<=1000000
第二行给出售价表, P 1 , P 2... P n P1,P2...Pn P1,P2...Pn, 其中 1 < = n < = 100 1<=n<=100 1<=n<=100 P i Pi Pi 为充值i元获得的短信条数。 1 < = P i < = 1000 , 1 < = n < = 100 1<=Pi<=1000, 1<=n<=100 1<=Pi<=10001<=n<=100

输出描述:

最多获得的短信条数
补充说明:

示例1
输入:

6
10 20 30 40 60

输出:

70

说明:
分两次充值最优,1元、5元各充一次。总条数 10+60=70

示例2

输入:

15
10 20 30 40 60 60 70 80 90 150

输出:

210

说明:
分两次充值最优,10元、5元各充一次。总条数 150+60=210

题解

这个是一个完全背包问题, 动态规划来解决

但是这里的 M 取值范围过大,会出现内促过大问题,需要把横向遍历修改为纵向遍历,
思路有了,代码还不知道咋写,先写一个简单的

源码Java

public class PhoneCharge {static Input input;static {input = new Input("15\n" +"10 20 30 40 60 60 70 80 90 150");}public static void main(String[] args) {int money = Integer.parseInt(input.nextLine());String[] messages = input.nextLine().split(" ");int msg[] = new int[messages.length+1];for (int i = 1; i <= messages.length; i++) {msg[i] = Integer.parseInt(messages[i-1]);}int[] dp = new int[money + 1];for (int i = 1; i < msg.length; i++) {for (int j = i; j <= money; j++) {dp[j] = Math.max(dp[j], dp[j - i] + msg[i]);}}System.out.println(dp[money]);}
}
http://www.lryc.cn/news/477405.html

相关文章:

  • Pyecharts使用本地文件绘制美国地图
  • lanqiaoOJ 3255:重新排队 ← STL list 单链表
  • 解决虚拟机启动报:此主机支持AMD-V,但AMD-V处于禁用状态
  • 【安装配置教程】二、VMware安装并配置ubuntu22.04
  • ‌5G SSB(同步信号块)位于物理层‌
  • 40.第二阶段x86游戏实战2-初识lua
  • 官方redis安装
  • OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放
  • 呼叫中心报工号功能有没有价值?有没有更好的方案?
  • Unity 6 基础教程(Unity 界面)
  • Vue插槽的使用场景
  • Redis 下载安装(Windows11)
  • 求平面连接线段组成的所有最小闭合区间
  • 编译安装并刷写高通智能机器人SDK
  • 软考:案例题分析1101
  • 如何检查雷池社区版 WAF 是否安装成功?
  • 一周内从0到1开发一款 AR眼镜 相机应用?
  • vue3中setup的作用是什么?
  • java.io.FileNotFoundException: Could not locate Hadoop executable: (详细解决方案)
  • 事件捕获vs 事件冒泡,延申事件委托
  • 接口测试(十一)jmeter——断言
  • 使用buildx构建多架构平台镜像
  • 宠物领养救助管理软件有哪些功能 佳易王宠物领养救助管理系统使用操作教程
  • Spring Boot中实现多数据源连接和切换的方案
  • 科技资讯|谷歌Play应用商店有望支持 XR 头显,AR / VR设备有望得到发展
  • 关于read/write 网络IO、硬盘IO的区别
  • vue2开发 对接后端(go语言)常抛异常情况以及处理方法汇总
  • LSTM:解决梯度消失与长期依赖问题
  • Kafka在大数据处理中的作用及其工作原理
  • w~自动驾驶~合集5