【DP练习】美元DOLLARS

2023-10-31

1040 – 【练习题目】美元DOLLARS
Description
在以后的若干天里戴维将学习美元与德国马克的汇率。编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后能获得最高可能的价值。
Input
输入文件的第一行是一个自然数N,1≤N≤100,表示戴维学习汇率的天数。
接下来的N行中每行是一个自然数A,1≤A≤1000。第i+1行的A表示预先知道的第i+1天的平均汇率,在这一天中,戴维既能用100美元买A马克也能用A马克购买100美元。
Output
输出文件的第一行也是唯一的一行应输出要求的钱数(单位为美元,保留两位小数)。
注意:考虑到实数算术运算中进位的误差,结果在正确结果0.05美元范围内的被认为是正确的,戴维必须在最后一天结束之前将他的钱都换成美元。
Sample Input
5
400
300
500
300
250
Sample Output
266.66(oj上此题样例输出有误,输出应为266.67)
题目链接:https://oj.bashu.com.cn/code/problempage.php

看完这道题,我们先来了解一下
美元和马克的样子
在这里插入图片描述
在这里插入图片描述
【温馨提示】
本题无Special Judge,所以题面中的
在这里插入图片描述
在这里插入图片描述
【题目分析】:
读完题感觉在这里插入图片描述
所以显然,此题为水题在这里插入图片描述
我们先来了解一下什么是汇率
根据政治书的描述,
汇率汇率又称汇价,是两种货币之间的兑换比率;保持人民币币值基本稳定,即对内保持物价总水平稳定,对外保持人民币汇率稳定,对人民生活安定,经济社会持续健康发展,对世界金融稳定,经济发展具有重要意义。
在这里插入图片描述
言归正传,本题用动态规划解决。
每一天手中的钱只有两种情况:
① 直接继承前一天的该货币
② 从前一天的另一种货币兑换过来
所以
f[i,0]表示第i天所能得到的美元最大收益;
f[i,1]表示第i天所能得到的马克最大收益;
则根据题意,
状态转移方程就是

f[i][0]=max(f[i-1][0],(f[i-1][1]/a[i])*100); f[i][1]=max(f[i-1][1],f[i-1][0]*a[i]/100);
初始状态:f[i,0]=100,f[i,1]=0;
Ans=f[n,0];(题目要求最后必须是美元)

#include<iostream>
#include<cstdio>
using namespace std;
int N;
double f[105][2],a[105];
int main()
{
	int i;
	cin>>N;
	for(i=1;i<=N;i++)cin>>a[i];
	f[0][0]=100;
	for(i=1;i<=N;i++)
	{
		f[i][0]=max(f[i-1][0],(f[i-1][1]/a[i])*100);
		f[i][1]=max(f[i-1][1],(f[i-1][0]*a[i])/100);
	}
	printf("%.2lf\n",f[N][0]);
	return 0;
}

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【DP练习】美元DOLLARS 的相关文章

  • Codeforces Round #291 (Div. 2)

    题目链接contest 514 A Chewba ca and Number 不允许有前导零 所以如果第一位是9的话 需要特别考虑 一开始理解错了题意 又WA了呜呜呜 include
  • 形象讲解Android中dpi,dp和px之间的关系(设计师如何与程序员沟通)

    屏幕尺寸指屏幕 显示屏 对角线的长度 单位为英寸 dpi dots per inch 像素密度 指每英寸中的像素数 1 在android中 160dpi设备下 1px 1dp 160dpi表示一英寸中包含160个像素点 px 即把一英寸平均
  • 计蒜客 17319 The Heaviest Non-decreasing Subsequence Problem

    Problem nanti jisuanke com t 17319 Meaning 给一个整数序列 s 每个数都有个权值 权值的计算方法是 s i lt 0 s i 的权值为 0 s i gt 10000 s i 的权值为 5 且 s i
  • 算法课四

    算法报告四 Dijkstra算法 最短距离 16122020 钟顺源 一 题目大意 给出一张图 并给定起点和终点 问起点到终点的最短距离是多少 有两个特殊要求 1 如果从顶点i到顶点j有不止一条最短路径 那么输出路段数最少者 2 如果具有最
  • hdu 1059 Dividing

    Problem acm hdu edu cn showproblem php pid 1059 题意 6 种宝石 价值分别是 1 到 6 分别给出 6 种宝石的数量 问能不能分成等价值的两堆 分析 多重背包 主要是记录下多重背包的写法 对每
  • 最长01交替子串(浪潮笔试题)

    题意 给一个只有0和1的字符串 允许反转一个连续区间 即0变成1 1变成0 求最长的01交替串多长 允许不连续 我最先想到的是动态规划解法 状态设计方面 首先一个串的状态会有以0结尾和以1结尾两种 然后题目中说允许反转一个连续区间 那么根据
  • 最大子矩阵(动态规划c++)

    题目描述 已知矩阵的大小定义为矩阵中所有元素的和 给定一个矩阵 你的任务是找到最大的非空 大小至少是1 1 子矩阵 比如 如下4 4的矩阵 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 的最大子矩阵是 9 2 4 1 1
  • 蓝桥杯--砝码称重(dp)

    砝码称重 题目评测 你有一架天平和 N 个砝码 这 N 个砝码重量依次是 W1 W2 WN 请你计算一共可以称出多少种不同的正整数重量 注意砝码可以放在天平两边 输入格式 输入的第一行包含一个整数 N 第二行包含 N 个整数 W1 W2 W
  • hdu 1058 Humble Numbers

    Problem acm hdu edu cn showproblem php pid 1058 题意 找出从小到大第 n 个因子 除了 1 和本身 只有 2 3 5 7 的数 即第 n 个 num 2 a 3 b 5 c 7 d 的数 据说
  • 某企业每月给其A、B、C 和D 四个门店一共发送6 个集装箱的某种货物,如果各门店出售该种货物的利润(万元)如下表:

    某企业每月给其A B C 和D 四个门店一共发送6 个集装箱的某种货物 如果各门店出售该种货物的利润 万元 如下表 试求这6 箱货物如何分配给各门店 才能获得最大总利润 解题思路 将问题按卖场分为四个阶段 将A B C D四个卖场分别编号为
  • hdu 4405 Aeroplane chess

    Problem acm hdu edu cn showproblem php pid 4405 vjudge net contest 151678 problem R Reference bbs csdn net topics 380193
  • 砝码称重问题【dp】

    设有 1g 2g 3g 5g 10g 20g 的砝码各若干枚 其 总重 1000g 要 求 输入 a1 a2 a3 a4 a5 a6 表示 1g 砝码有 a1 个 2g 砝码有 a2 个 20g 砝码有 a6 个 输出 Total N N
  • Economic Difficulties【DP】【Codeforces 1263 F】

    Codeforces Round 603 Div 2 F 题意 给你两棵树 结点分别是1 A与1 B 然后给了N台设备 并且A树和B树的叶子结点都是链接设备的 问的是 我们最多可以割几条边使得每个设备都能链接A树或者B树上任意的一个 1 号
  • 16.4 线性DP练习——【字符串转换】

    文章目录 题目描述 输入描述 输出描述 输入输出样例 最终代码c c 过程理解 题目描述 小蓝拥有两个字符串S T 他希望通过如下操作使得字符S转换为字符串T 操作有一下三种 删除一个字符 插入一个字符 将一个字符改为另一个字符 问最少需要
  • Nikitosh and xor【字典树+dp】

    题目链接 比较明显的 正向一个推过去的字典树 再反向退回来的一个字典树 然后异或和用差分的方式解决 字典树一定是要从第29位开始往下的 千万别从第0位往上 include
  • Palindrome subsequence【区间DP+冗斥】

    题目链接HDU 4632 题目让我们求给定的一段字符串上回文串的长度 一个数也算是回文串 于是我就想怎样去找其中的规律 我举了些例子 先是从相同的字符串开始举例 aaa 对于aaa dp 1 1 1 dp 2 2 1 dp 1 2 dp 1
  • Acwing2554. 排列数

    在一个排列中 一个折点是指排列中的一个元素 它同时小于两边的元素 或者同时大于两边的元素 对于一个 1 n 的排列 如果可以将这个排列中包含 t 个折点 则它称为一个 t 1 单调序列 例如 排列 1 4 2 3 是一个 3 单调序列 其中
  • 【DP】拔河比赛

    题目 一个学校举行拔河比赛 所有的人被分成了两组 每个人必须 且只能够 在其中的一组 要求两个组的人数相差不能超过1 且两个组内的所有人体重加起来尽可能地接近 输入 输入数据的第1行是一个n 表示参加拔河比赛的总人数 n lt 100 接下
  • UVa 1347 Tour

    题目 Tour 题意 来自luogu John Doe想用最小的路程游览完所有目的地 每个目的地都用坐标xi yi表示 任何两目的地的xi都不相同 两目的地之间的路程是两点之间的直线距离 John是这样走的 他从最左边的点开始 然后只能向右
  • 插入数计数类 / 转为换行类dp:AT_agc024_e

    https www luogu com cn problem AT agc024 e 首先题目可以转化成每次插入一个数 满足字典序递增 如果只考虑暴力dfs 先别上dp 想想怎么合法和不算重 合法 也就是插入数有3种情况 插到末尾 插到比他

随机推荐

  • 论文理解之增加换脸效果 FaceShifter: Towards High Fidelity And Occlusion Aware Face Swapping

    论文 FaceShifter Towards High Fidelity And Occlusion Aware Face Swapping 论文地址 https arxiv org pdf 1912 13457 pdf 换脸是非常吸引人的
  • uniapp 自定义弹窗组件

    先上效果 组件源码 slot modal vue
  • npm配置文件

    npm配置文件是 npmrc 默认在用户目录下 如果没有找到 用命令来看 npm config get userconfig 查看配置文件路径 以下config命令也是很好用 npm config ls l 查看所有配置项 npm conf
  • I2C总线上的上拉电阻设置

    https wenku baidu com view 985db25e4a7302768e9939f8 fr ViewCollect i2c原理讲解 问 如题 除了地址不重复外 听说IC 数量只受到总线的最大电容 400pF 限制 那么电容
  • HTTP请求响应系列02_响应报文的详解

    响应报文 1 响应报文的详解 上篇文字讲的 请求报文 本篇主要解释响应报文包括的内容 响应报文的内容也包括三部分 分别是 响应行 响应头 响应体 这三部分放的都是信息 是S端发给B端的信息 道理是一样的 响应 就是请求后的结果 栗子 接上篇
  • Http 响应头 Transfer-Encoding : chunked 导致 浏览器客户端请求错误问题

    生产环境服务器规划如下 服务器 类型 网络环境 cal com nginx 外网 192 168 7 15 9200 tomcat 内网 192 168 7 16 9200 tomcat 内网 sdd com nginx 内网 192 16
  • 如何在当前目录下查看npm已安装了哪些库

    要查看在当前目录下 npm 已安装的库 可以在命令行中输入以下命令 npm list
  • html下拉菜单栏代码

  • 记一次Redhat7无法正常开机的解决过程

    事情的起源是使用VMWare虚拟平台克隆一个虚拟机的时候 克隆之前将网络配置全部删掉 然后将虚拟机关机 然后克隆出来一台之后 发现两台都无法正常的开机 症状是监视器会显示一个灰色的7背景 然后虽然没有死机但是也无法进入登录窗口 由于克隆之前
  • Failed to restart ssh.service: Unit not found. Centos7不能启动ssh服务

    升级ssh后重启服务 systemctl restart sshd service 遇到报错 Failed to restart ssh service Unit not found 解决方法 执行以下命令即可 进入 etc init d
  • PostgreSQL REPMGR 灾难恢复过程复盘

    大家肯能注意到 最近一直都是各种数据库的灾难恢复的复盘 本身作为一个TEAM 的LEADER 我想到的是在紧急情况下 我们应该有一个应对的措施 对每一个 TEAM 的 DBA 都应该在那个时候沉着冷静 并且知道那些是应该做的 那些是不该做的
  • 记录Mysql使用小技巧

    1 统计用逗号分隔字段中的元素 例如 有如下数据 需要把participants中每个元素出现的次数及对应的id统计出来 id participants 169 吉利 搜狗 1 170 吉利 搜狗 2 171 吉利 3 172 吉利 4 1
  • MySQL的一些基本操作

    现在有的时候线上数据不能直接操作IDE工具 SQL是避免不了的 而且即使是开发也会用到一些语句 将常用的聚集在一起 一 字段 a 表结构修改 1 增加字段 TABLE关键字不能少 ALTER TABLE xxx order ADD orde
  • kali 中msfconsole报警“WARNING: No database support: could not connect to server: Connection refused”及解决

    问题点 kali 2020 02版中msfconsole报警 WARNING No database support could not connect to server Connection refused 解决方法 step1 在终端
  • 126.数据链路层有哪些协议?

    PPP 点到点 HDLC 高级数据链路协议 csma cd carrier sensor multiple access collosion detect 载波多路监听 冲突检测 工作原理 先听后发 边听边发 冲突停发 随机延迟后重发
  • centos7使用rpmbuild制作rpm包

    本文作为我实验的一个总结文档 可能实现的功能比较简单 适合于想要简单入门使用的 希望对朋友们有所帮助 下载rpmbuild程序包 所用系统 centos7 6 yum install rpm build 安装程序包 如果你所要打包的程序需要
  • yum清缓存_YUM 安装及清理

    Yum 全称为 Yellow dog Updater Modified 是一个在Fedora中的Shell前端软件包管理器 基於RPM包管理 能够从指定的服务器自动下载RPM包并且安装 可以自动处理 依赖性关系 并且一次安装所有依赖的软体包
  • 小程序无需编程,体验IoT物联网平台-物模型开发——设备接入类

    微信小程序码 1 准备工作 1 1 注册阿里云账号 浏览器打开 https aliyun com 开通阿里云账号 并通过支付宝实名认证 https www aliyun com gt 1 2 免费开通IoT物联网平台 在产品分类 找到物联网
  • c语言-循环打印星号图形*

    用两层循环 外层循环 控制行 行数 换行 内层循环 控制列 列数 列的符号 第一种效果图 为什么是j lt i 2呢 第一行以0计算 第一行星数为0 第二行为1计算 第二行星数为2 include
  • 【DP练习】美元DOLLARS

    1040 练习题目 美元DOLLARS Description 在以后的若干天里戴维将学习美元与德国马克的汇率 编写程序帮助戴维何时应买或卖马克或美元 使他从100美元开始 最后能获得最高可能的价值 Input 输入文件的第一行是一个自然数