2013ACM/ICPC亚洲区南京站现场赛——题目重现
GPA http://acm.hdu.edu.cn/showproblem.php?pid=4802
签到题,输入两个表,注意细心点就行了。
#include<cstdio>
#include<cstring>
const int M=;
char s[M],cp[M][M]={"A","A-","B+","B","B-","C+","C","C-","D","D-","F"};
double si[]={,3.7,3.3,,2.7,2.3,,1.7,1.3,1.0,};
int main(){
int n;
while(~scanf("%d",&n)){
double ss=;
int sc=,c;
while(n--){
scanf("%d%s",&c,s);
for(int i=;i<;i++){
if(!strcmp(cp[i],s)){
ss+=si[i]*c;
sc+=c;
break;
}
}
}
if(!sc){
puts("0.00");
continue;
}
printf("%.2f\n",ss/sc);
}
return ;
}
Poor Warehouse Keeper http://acm.hdu.edu.cn/showproblem.php?pid=4803
输入x,y表示最终的数量和总价,初始是1,1.
有两种操作可以选择 一种是 y+1,那么此时x不变,但是单价变大了一些。
另一种选择是 x+1,此时单价不变,但是y = y/x*(x+1) 其中x指的是变化之前的x,也就是说, 总价要变成之前的单价*现在的数量。
综上所诉,单价不变或增大。如果x增大,y增大的是上一次的单价,如果使y增大,则单价变大,那么之后按x时y增大的也快。
为了尽快使1,1达到输入的x,y,贪心的选择先增大y,使得单价变大,因为要达到x,早晚都要按x-1次,那么我们在之前使单价变大,就会使这x-1次带来的y的增加更多。
但是单价有个上限,不能过大,否则x-1次必须按,y有可能超过目标。
最后的做法,对每一次增加x之前,都尽可能的把y增大,也就是把单价增大,增大到不超过最终结果的最大单价以后,增加一次x,然后继续之前的选择。
#include<cstdio>
const double eps=1e-;
int main() {
int x,y;
while(~scanf("%d%d",&x,&y)) {///x是数量,y是总价
if(x>y){ ///数量必须要按x-1次,初始单价1,所以x>y是无法按出的
puts("-1");
continue;
}
double k=(y+-eps)/x; ///最大的单价
int ans=x-; ///按x-1次数量
double tmp=; ///初始y的值
for(int i=;i<=x;i++) {
double t=i*k; ///当前可达到的最大总价
int u=(int)(t-tmp); ///最多按总价的次数
tmp+=u; ///总价加上这么多次数
tmp=tmp*(i+)/i; ///这是按了一下数量
ans+=u; ///这是加上按总价的次数,按数量的x-1次之前已经加了
}
printf("%d\n",ans);
}
return ;
}
end
2013ACM/ICPC亚洲区南京站现场赛——题目重现的更多相关文章
- 2013ACM/ICPC亚洲区南京站现场赛---Poor Warehouse Keeper(贪心)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4803 Problem Description Jenny is a warehouse keeper. ...
- 2013ACM/ICPC亚洲区南京站现场赛-HDU4809(树形DP)
为了这个题解第一次写东西..(我只是来膜拜爱看touhou的出题人的).. 首先以为对称性质..我们求出露琪诺的魔法值的期望就可以了..之后乘以3就是答案..(话说她那么笨..能算出来么..⑨⑨⑨⑨⑨ ...
- hdu4811-Ball(2013ACM/ICPC亚洲区南京站现场赛)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4811 题目描述: Problem Description Jenny likes balls. He ...
- 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)
摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...
- 2016ACM/ICPC亚洲区大连站现场赛题解报告(转)
http://blog.csdn.net/queuelovestack/article/details/53055418 下午重现了一下大连赛区的比赛,感觉有点神奇,重现时居然改了现场赛的数据范围,原 ...
- 2013ACM-ICPC亚洲区南京站现场赛G题
题目大意:一个n维的系统中随机选一个向量(X1,X2,X3,...,Xn),其中0<=Xi<=R,且X1^2+X2^2+X3^2+……+Xn^2 <= R^2. 现在给定n,R.求X ...
- 2014ACM/ICPC亚洲区西安站现场赛 F color(二项式反演)
题意:小球排成一排,从m种颜色中选取k种颜色给n个球上色,要求相邻的球的颜色不同,求可行的方案数,答案模1e9+7.T组数据,1<= n, m <= 1e9, 1 <= k < ...
- 2014ACM/ICPC亚洲区鞍山赛区现场赛1009Osu!
鞍山的签到题,求两点之间的距离除以时间的最大值.直接暴力过的. A - Osu! Time Limit:1000MS Memory Limit:262144KB 64bit IO Fo ...
- HDU 6227.Rabbits-规律 (2017ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学))
Rabbits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total S ...
随机推荐
- MongoDB简述
简介 MongoDB is an open-source document database that provides high performance, high availability, an ...
- Yii 操作提示框实现
如图: html + css 代码: 这是 YII 模板的写法 欢迎使用Yii <style> div.success{ background: #C5FBBD; border: ...
- Linux命令行修改IP、网关、DNS的方法
Linux中在命令行中修改IP地址.网关.DNS的方法. 网卡eth0 IP修改为 102.168.0.1 复制代码代码如下: ifconfig eth0 102.168.0.1 netmask ...
- Delphi For Android 开发笔记-附:如何Delphi中同时实现Windows、Android版的GetModuleFileName函数
在Windows中开发DLL时,经常会需要获取当前DLL所在目录以便读取同目录下的其他文件,而目前Delphi在开发android时,其实没多大必要获取,因为整个工程只有一个so文件,而这个so文件也 ...
- DELPHI 使用dbexpress控件连接MySQL数据库方法
1. 在窗体上放置4个控件: SQLConnection1,SimpleDataSet1,DataSource1,DBGrid (注意: 如果 出现"Operation not allowe ...
- WCF全面解析第一章 WCF 简介
1.WCF中的 "A","B","C" 介绍 我们先看个生活中的例子,某一天,公司的领导让你去送一份合同文件,送文件的过程你可以选择的交通方 ...
- .Net之美
第1章 C#类型基础 1.1 值类型和引用类型值类型和引用类型是以它们在计算机内存中是如何被分配的来划分的.值类型包括了结构和枚举,引用类型则包括了类. 接口. 委托等. 还有一种特殊的值类型,称为简 ...
- python之ftplib库
检测ftp是否可用 #!/usr/bin/python #coding:utf-8 from ftplib import FTP def ftp_open(ip,user,passwd): try: ...
- 多线程基本概论multithread
多线程 基本概念 进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 通过 活动监视器 可以查看 Mac 系统中所开启的进程 线程 进程要想 ...
- Java入门到精通——调错篇之解决MyEclipse 输入注册码后:Enter or update your subscription information.问题
这几天,我用MyEclipse做例子的时候总是出现下面图上面的提示: 不用看就是注册码到期了要注册.找了好几个注册码总是出现Enter or update your subscription info ...