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亚洲区南京站现场赛——题目重现的更多相关文章

  1. 2013ACM/ICPC亚洲区南京站现场赛---Poor Warehouse Keeper(贪心)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4803 Problem Description Jenny is a warehouse keeper. ...

  2. 2013ACM/ICPC亚洲区南京站现场赛-HDU4809(树形DP)

    为了这个题解第一次写东西..(我只是来膜拜爱看touhou的出题人的).. 首先以为对称性质..我们求出露琪诺的魔法值的期望就可以了..之后乘以3就是答案..(话说她那么笨..能算出来么..⑨⑨⑨⑨⑨ ...

  3. hdu4811-Ball(2013ACM/ICPC亚洲区南京站现场赛)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4811 题目描述: Problem Description Jenny likes balls. He ...

  4. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  5. 2016ACM/ICPC亚洲区大连站现场赛题解报告(转)

    http://blog.csdn.net/queuelovestack/article/details/53055418 下午重现了一下大连赛区的比赛,感觉有点神奇,重现时居然改了现场赛的数据范围,原 ...

  6. 2013ACM-ICPC亚洲区南京站现场赛G题

    题目大意:一个n维的系统中随机选一个向量(X1,X2,X3,...,Xn),其中0<=Xi<=R,且X1^2+X2^2+X3^2+……+Xn^2 <= R^2. 现在给定n,R.求X ...

  7. 2014ACM/ICPC亚洲区西安站现场赛 F color(二项式反演)

    题意:小球排成一排,从m种颜色中选取k种颜色给n个球上色,要求相邻的球的颜色不同,求可行的方案数,答案模1e9+7.T组数据,1<= n, m <= 1e9, 1 <= k < ...

  8. 2014ACM/ICPC亚洲区鞍山赛区现场赛1009Osu!

    鞍山的签到题,求两点之间的距离除以时间的最大值.直接暴力过的. A - Osu! Time Limit:1000MS     Memory Limit:262144KB     64bit IO Fo ...

  9. HDU 6227.Rabbits-规律 (2017ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学))

    Rabbits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total S ...

随机推荐

  1. MongoDb gridfs-ngnix文件存储方案 - 图片

    http://www.cnblogs.com/wintersun/p/4622205.html 在各类系统应用服务端开发中,我们经常会遇到文件存储的问题. 常见的磁盘文件系统,DBMS传统文件流存储. ...

  2. sqoop的codegen工具

    一.codegen工具的使用 sqoop codegen --connect jdbc:mysql://localhost:3306/test --username root --password 1 ...

  3. 四、MongoDB的查询

    一.MongoDB的下载.安装与部署 二.MongoDB的基础知识简介 三.MongoDB的创建.更新和删除 db.blogs.insert([ { "author": " ...

  4. PHP多例模式

    学习java就知道设计模式中有多例模式: 1.多例类可以有多个实例2.多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例. 大家都知道PHP单例模式,却很少说PHP多例模式,下面是在wik ...

  5. php根据日期获得星期

    <?php $weekarray=array("日","一","二","三","四",&quo ...

  6. Thinkpad 小紅點設定

    因为我只需要这么多设置,所以就只写这么多了sudo gedit /etc/rc.local echo -n 240 > /sys/devices/platform/i8042/serio1/se ...

  7. The Rotation Game (POJ 2286) 题解

    [问题描述] (由于是英文的,看不懂,这里就把大意给大家说一下吧……都是中国人,相信大家也不愿意看英文……) 如图,一个井字形的棋盘,中间有着1-3任意的数,有ABCDEFGH八个操作,每个操作意味着 ...

  8. python的egg包的安装和制作]

    Defining Python Source Code Encodings Python egg 的安装 egg文件制作与安装 2011-06-10 14:22:50|  分类: python |   ...

  9. Python学习教程(learning Python)--1.4 Python数据处理基础

    本节主要讨论数据操作及运算符等基础知识,熟悉C语言相关知识的读者请跳过此节. 在高级语言编程过程中,有了数据以后通常要对数据进行相应的数据处理,加.减.乘.除等基本运算,不难理解. 在Python里 ...

  10. SVN中的常见错误(长期更新)

    一 svn中的简写含义. A:add,新增 C:conflict,冲突 D:delete,删除 M:modify,本地已经修改 G:modify and merGed,本地文件修改并且和服务器的进行合 ...