首页 > 其他分享 >2020计蒜之道预赛第二场-群星 题解

2020计蒜之道预赛第二场-群星 题解

时间:2023-04-12 22:01:24浏览次数:35  
标签:sell 1.5 buy 题解 合金 暗物质 银河 2020 计蒜

题目描述

蒜头君是一个 P 社玩家,每天从计蒜客下班回家之后的第一件事情就是打开《群星》,开始继续他的第四天灾之旅。这次他把注意力集中到了银河市场里面。

银河市场里面商品的价格都通过以下公式计算: $$P = B * basePrice / S$$ $$ price = \displaystyle \frac{buy}{sell} * base$$

其中 price 是某个商品现在的单位价格,sell 是该商品目前所有玩家在银河市场的总出售量, buy 是该商品目前所有玩家在银河市场的总购买量(buy 或 sell 为 0 的时候在公式里面均被视为 1),basePrice 是该商品的起始单位价格。

可是暗物质并不适用这条规则,因为蒜头君垄断了整个银河系的暗物质生产,并决定让暗物质的价格和合金在银河市场里面的价格挂钩,即暗物质的 单位价格 和合金 单位价格 的 比值 是一直不变的。

现在蒜头君手上有银河市场里面合金的完整交易数据、合金与暗物质各自的起始价格,现在蒜头君需要知道每一次合金交易之后暗物质当前的单价应该是多少。

输入格式 第一行有三个实数 a(为 alloy 的简写)和 dm(为 dark matter 的简写),为合金和暗物质的初始单位价格,和一个整数 n 表示蒜头君手上拿到的合金交易次数。

往后 n 行每一行输入一个实数 x:

如果为正数,表示这次交易是某个玩家从银河市场购买了合金,且购买的量是 x 单位。 如果为负数,表示这次交易是某个玩家向银河市场出售了合金,且出售的量是 −x 单位。 数据约定 1\le n \le 100001≤n≤10000,0<a,dm\le100000<a,dm≤10000,0<|x|\le100000<∣x∣≤10000$$。

输出格式 输出总共有 nn 行,每一行表示每一次合金交易之后暗物质的单价是多少,你的答案和标准答案的误差不能超过 10^{-3}10 −3 。

如果你觉得题意比较难理解,可以再认真看一看样例数据和样例解释。

示例

  • 示例 1:

    输入

    3.2 16 3
    1.5
    -6
    16.5
    

    输出

    24.000
    4.000
    48.000
    

    样例解释

     银河市场建立的时候,合金和暗物质的单价分别为 3.2 和 16。
    
     第一次交易,某个玩家从银河市场中买走了 1.5 单位合金,此时暗物质的单价为 16\times 1.5/1= 24 16×1.5/1=24。
    
     第二次交易,某个玩家向银河市场中出售了 6 单位合金,此时暗物质的单价为 16\times 1.5/6= 41 6×1.5/6=4。
    
     第三次交易,某个玩家从银河市场中买走了 16.5单位合金,此时暗物质的单价为 16\times (1.5+16.5)/6= 48 16×(1.5+16.5)/6=48。
    

  • 解题思路

    很简单的模拟题, 题目描述会让人困惑, 通过样例倒是很容易理解。

  • 题解1:

       a = input().split()
       bp = float(a[1])
       num = int(a[2])
       input_line = []
       result = []
       for x in range(int(num)):
           input_line.append(input())
       # 处理逻辑
       sell = 0.0
       buy = 0.0
       for index, x in enumerate(input_line):
           x = float(x)
           sell = sell if sell != 0 else 1.0
           buy = buy if buy != 0 else 1.0
           if x > 0:
              buy = buy + x if buy != 1.0 else x
           if x < 0:
              sell = sell + abs(x) if sell != 1.0 else abs(x)
           dm_price = bp * (buy / sell)
           result.append(dm_price)
       # 输出结果
       for x in result:
           print(x)
    

标签:sell,1.5,buy,题解,合金,暗物质,银河,2020,计蒜
From: https://blog.51cto.com/spaceack/6186316

相关文章

  • 问题解决
    遇到的问题1.解决方法:将@RequestParam改为@PathVariable:@RequestParam接收的是?参数,@PathVariable接收直接参数2.Stream方法报红解决办法:jdk版本改为8版本及以上3.解决方法:导入以下依赖<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifac......
  • Win7资源管理器自动关闭或者重启问题解决办法
    方法1:故障现象:提示win7资源管理器已停止工作解决办法:1.打开任务管理器,点“文件”,再点”新建任务”,在”打开”后面打上explorer.exe确定2.找到WinRAR,点”选项”,”设置”,”综合”,“把WinRAR整合到资源管理器中”的勾消除就行了方法2故障现象:Windows7出现资源管理器自......
  • 文件系统变成RAW问题解决
    问题描述对于打开分区提示需要格式化的情况,右击属性查看时,文件系统变成了RAW了,没有关系很好恢复,千万不要格式化。问题分析可以看到该分区说明分区表没有问题,这是由于DBR扇区(即启动扇区)损坏造成的。以上听不懂分析没有关系,对你的恢复影响不大。有两种方法恢复:1、用软件自动进......
  • YBTOJ 5.4例3 最长距离 题解
    挂大分!!!!!!1.一定要看清提干有没有多测2.多测不清空爆零两行泪3.同时线性更新最大值和次大值时记得最大值更新要同时把旧的最大值给次大值题解首先可以想到一个最暴力的暴力:对于每一个点暴力枚举所有的点跑LCA复杂度\(O(n^2logn)\)显然会炸然后就有一个优化一点的暴力:......
  • CF698F Coprime Permutation 题解
    题意给定一个未填满的数组\(p\),求有多少种\(1\simn\)的排列\(p\)满足对于任意\(i<j\),都有\([\gcd(i,j)=1]=[\gcd(p_i,p_j)=1]\),答案对\(10^9+7\)取模。题解部分参考这篇题解(感觉这篇题解应该是目前为止最详细的吧)。记\(P\)为\([1,n]\)中所有素数与\(1\)构成......
  • Codeforces Round 864 (Div. 2) 题解
    A.LiHuaandMaze题目保证了两个点的哈密顿距离至少为\(2\),所以他们不会相邻。只要有点在角上答案就是\(2\),在边上但不在角上就是\(3\),否则就是\(4\)。#include<bits/stdc++.h>#include<ext/pb_ds/assoc_container.hpp>#include<ext/pb_ds/tree_policy.hpp>#includ......
  • 「题解」ABC296Ex Unite
    考虑一行一行往下dp,一个状态需要记录每个格子是否是黑色,对于黑色还有记录其并查集。爆搜跑一下本质不同状态数不是很多,dp就行了。\(m=7\)的时候状态数只有324.#include<cstdio>#include<vector>#include<queue>#include<cstring>#include<iostream>#include<algorithm>......
  • [PA 2020] Trzy drogi
    pjudge题解虽然写了,但可能是bot写的,写的很不清楚。根据经典做法,搜出一棵dfs树,对非树边赋随机权值,树边权值为跨过它的所有非树边的权值xor。那割三条边能割开的条件就是:选三条边的一个子集,这个子集中的边权xor为0。也就是存在\(w_i=0\)或\(w_i\oplusw_j=0\)......
  • CF1525F 题解
    题意有一个\(n\)个点的DAG,现在有\(k\)波进攻,第\(i\)波有\(i\)个人,它们每个人会选择一条DAG上的路径,并占领这个路径上的所有点,路径之间是不能相交的。第\(i\)波进攻前可以做一些准备,可以花\(1\)秒关闭某个点的所有入边,或关闭某个点的所有出边。第\(i\)波进攻有个......
  • COMP326问题解答
    COMP326Assignment2(15%ofthefinalmark)Due18thApril2023Pleasesubmityoursolutionselectronically(inPDFformat)onCanvasPleasebeawareoftheUniversityguidelinesonplagiarismandcollusion.Themarksforlatesubmissionswillbeaffectedin......