http://acm.hdu.edu.cn/showproblem.php?pid=4957

拿n只破的木桶去接水,每只木桶漏水速度为a[i],最后要得到b[i]单位的水,自来水的出水速度为V,木桶里只要有水就会漏水,每次只能接一只木桶。问最短需要多少时间,每只木桶里的水为b[i]

ans+=(p[i].b+ans*p[i].a)/(v-p[i].a) => ans+=p[i].b/(v-p[i].a)+(ans*p[i].a)/(v-p[i].a)

得到(ans*p[i].a)/(v-p[i].a)的值要由小到大排序

然后依次搞就行了

需要注意的是b==0的情况,需要的时间为0,bc上此题直接0AC...。

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <queue>
#include <vector>
#include<set>
#include <iostream>
#include <algorithm>
using namespace std;
#define RD(x) scanf("%d",&x)
#define RD2(x,y) scanf("%d%d",&x,&y)
#define clr0(x) memset(x,0,sizeof(x))
#define eps 1e-9
typedef long long LL;
struct node{
int a,b;
}s[60];
bool cmp(node x,node y)
{
return x.a*y.b > y.a*x.b;
}
void work()
{
int n,v;
RD2(n,v);
for(int i = 0;i < n;++i){
scanf("%d",&s[i].a);
//cout<<s[i].a;
}
for(int i = 0;i < n;++i){
scanf("%d",&s[i].b);
}
for(int i = 0;i < n;++i)
if(s[i].b&&v<=s[i].a){
puts("-1");
return;
}
sort(s,s+n,cmp);
double ans = 0.0;
for(int i = 0;i < n;++i){
if(s[i].b==0)
continue;
ans += (ans*(double)s[i].a + (double)s[i].b)/((double)v - (double)s[i].a);
}
printf("%.0lf\n",ans);
}
int main() {
int nn;
RD(nn);
while(nn--){
work();
}
return 0;
}

hdu 4957 贪心破木桶接水大trick的更多相关文章

  1. HDU 1052 贪心+dp

    http://acm.hdu.edu.cn/showproblem.php?pid=1052 Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS ...

  2. Hdu 5289-Assignment 贪心,ST表

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=5289 Assignment Time Limit: 4000/2000 MS (Java/Others) ...

  3. hdu 4803 贪心/思维题

    http://acm.hdu.edu.cn/showproblem.php?pid=4803 话说C++还卡精度么?  G++  AC  C++ WA 我自己的贪心策略错了 -- 就是尽量下键,然后上 ...

  4. hdu 1735(贪心) 统计字数

    戳我穿越:http://acm.hdu.edu.cn/showproblem.php?pid=1735 对于贪心,二分,枚举等基础一定要掌握的很牢,要一步一个脚印走踏实 这是道贪心的题目,要有贪心的意 ...

  5. hdu 4974 贪心

    http://acm.hdu.edu.cn/showproblem.php?pid=4974 n个人进行选秀,有一个人做裁判,每次有两人进行对决,裁判可以选择为两人打分,可以同时加上1分,或者单独为一 ...

  6. hdu 4982 贪心构造序列

    http://acm.hdu.edu.cn/showproblem.php?pid=4982 给定n和k,求一个包含k个不相同正整数的集合,要求元素之和为n,并且其中k-1的元素的和为完全平方数 枚举 ...

  7. HDU 2307 贪心之活动安排问题

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2037 今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)  ...

  8. HDU 2111 Saving HDU【贪心】

    解题思路:排序后贪心,和fatmouse's  trade 类似 Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: ...

  9. HDU 2831 (贪心)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2831 题目大意:植物大战僵尸.给定种植植物时间间隔t,以及每个僵尸的到达时间v,生命d.问是否能赢. ...

随机推荐

  1. JSP共享javabean

    JavaBean是一种可重复使用,且跨平台的软件组件.JavaBean可分为两种:一种是有用户界面(UI)的javaBean:还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的jav ...

  2. struts2 资源国际化

    web.xml: <?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp ...

  3. oracle表属性

    1. PCTFREE 要形容一个 BLOCK 的运作,我们可以把一个 BLOCK 想成一个水杯.侍者把水倒入放在我们面前的水杯,要多满呢,我们要求他倒 9 分满好了,这时候 PCTFREE 代表着设定 ...

  4. 团队作业4 Alpha冲刺

    第一天 日期:2018/6/13 1.今日完成任务情况以及遇到的问题 许征航:实现了推荐算法的基础逻辑,并按照模块化的思想对算法进行了分步整理. 遇到的问题:现有条件无法实现协同过滤算法,需要简化模型 ...

  5. pymongo CursorNotFound错误

    部分报错如下: File "D:\anaconda\lib\site-packages\pymongo\cursor.py", line 1189, in next if len( ...

  6. C# split分割多个字符

    string[] myAgent = agentInfo.Split(new string[] { "$#$" }, StringSplitOptions.None);

  7. 第七章 二叉搜索树 (d3)AVL树:删除

  8. PHP的zip、unzip类详解

    1.打开一个ZIP包,用于读取.写入或修改 open(string $filename [, int $flags]) $filename - 文件名 $flags - 打开模式 ZIPARCHIVE ...

  9. 从文件中读取字符-多次调用read characters from file multiple calls

    [抄题]: 接口:int read4(char * buf)一次从文件中读取 4 个字符.返回值是实际读取的字符数. 例如,如果文件中只剩下 3 个字符,则返回 3.通过使用read4 接口,实现从文 ...

  10. Mongodb相对于关系型数据库的优缺点(转)

    与关系型数据库相比,MongoDB的优点: ①弱一致性(最终一致),更能保证用户的访问速度: 举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精 ...