高精度,贪心
来源:互联网 发布:linux安装hadoop2.6 编辑:程序博客网 时间:2024/06/01 21:14
题意
买卖GTX1920,已知未来一段时间每块GTX1920的价格,问买卖后最大的收益
- 每次买入都尽可能多买,每次卖都全卖
- 在每个局部价格山谷都买入,然后在接下来的第一个局部价格山顶卖出
- 最后的资金会很大,超过long long的范围,但是中间结果不能取模,不然无法计算出下次购买GTX1920的数量,所以使用BigInteger来计算
BigInteger用法总结
- 使用前要
import java.math.BigInteger;
- 不能直接给BigInteger赋值,使用
BigInteger mod=BigInteger.valueOf(1000000007);
- 运算规则:(a和b都必须为BigInteger类型)
- 加(a+b):
a.add(b);
- 减(a-b):
a.subtract(b);
- 乘(a*b):
a.multiply(b);
- 除(a/b):
a.divide(b);
- 取模(a%b):
a.mod(b);
- 比较:
a.compareTo(b)//a<b,-1 a==b,0 a>b,1
- 加(a+b):
import java.util.Scanner;import java.math.BigInteger;public class Main { public static void main(String[] args) { Scanner cin=new Scanner(System.in); int T; int n,m; int[] c = new int[2005]; T=cin.nextInt(); BigInteger ans,mod=BigInteger.valueOf(1000000007); for(int xx=1;xx<=T;++xx){ n=cin.nextInt(); m=cin.nextInt(); ans=BigInteger.valueOf(m); for(int j=0;j<n;++j) { c[j]=cin.nextInt(); } int i,j,k; for(i=0;i<n;) { j=i; while(j<n-1&&c[j+1]<=c[j])++j; if(j==n-1)break; k=j; while(k<n-1&&c[k+1]>c[k])++k; BigInteger res=ans.mod(BigInteger.valueOf(c[j])); BigInteger buy=ans.divide(BigInteger.valueOf(c[j])); buy=buy.multiply(BigInteger.valueOf(c[k])); ans=res.add(buy); i=k+1; } System.out.println("Case #"+xx+": "+ans.mod(mod)); } }}
阅读全文
0 0
- 高精度,贪心
- CF18D 高精度+贪心
- Persistent Numbers(贪心+高精度)
- 【noip】国王游戏 贪心 高精度
- POJ - 2325 Persistent Numbers【贪心、高精度】
- 【贪心+高精度】NOIP2012D1T2国王游戏Codevs1198
- 【POJ2325】Persistent Numbers 贪心+高精度/低精度
- [NOIP 2012]国王游戏 高精度+贪心
- 【bzoj1263】【scoi2006】【整数划分】【高精度+贪心】
- poj 2325 Persistent Numbers 贪心+高精度除法
- NOIP 国王游戏 codevs1198 贪心+高精度
- hdu5920 Ugly Problem【贪心+高精度减法】
- 【noip 2012】国王游戏 贪心+高精度
- 洛谷P1080:国王游戏 (贪心+高精度)
- POJ 1405 贪心+找规律+高精度 in JAVA
- NYOJ zkc学长的福利(贪心+高精度运算)
- NOIP 2012 国王游戏 贪心 高精度 (COGS 1263)
- 【jzoj3100】【NOIP2012提高组】【国王游戏】【贪心】【高精度】
- python资料库
- 关于compile constraint-layout:1.0.2的错误解决
- 剑指Offe [12] 数值的整数次方
- HTTP及HTTPS协议
- git push报错error: failed to push some refs to 'git@github.com:
- 高精度,贪心
- lua elseif不能有空格
- 牛客网笔试题目练习------分苹果
- objc_msgSend()报错Too many arguments to function call ,expected 0,have3
- javascript多种动画传参
- 介绍一个个人博客中的几篇c++文章
- Annontation注解的应用及介绍
- 笔记|《简明Python教程》:编程小白的第一本python入门书
- ReactJs入门教程