zoukankan      html  css  js  c++  java
  • CTU OPEN 2017 Pond Cascade /// 思维

    题目大意:

    给定N F 给定N个水池的大小 

    每个水池都以流量F开始注水

    当位置较前的水池注满后 水会溢出到下一个水池

    求 最后一个水池开始溢出的时间 和 所有水池全部注满的时间

    1.最后一个n水池开始溢出的时间

    当 n-1水池 还没溢出 而 n水池 溢出了,说明 n水池 溢出的时间只取决于它自己

    当 n-1水池 溢出了 而 n水池 还没溢出时,说明 n-1水池 会影响 n水池 的溢出

    而 n-2水池 和 n-1水池 同样如此

    由于流量固定为F 此时假设

    n-2水池 不影响 n-1水池 的溢出,而 n-1水池 会影响 n水池 时

    那么平均一个水池的时间花费为 (n-1容量+n容量)/ F / 2,即最后一个水池开始溢出的时间

    从后开始考虑 即考虑 i水池 到 n水池 有影响

    那么求得的最小的平均单水池花费 就是 n水池开始溢出的时间

    2.所有水池全部注满的时间

    由于水只会向后溢出 故所有水池注满的时间较受前面的水池的影响

    当 1水池 还未注满 而 2~n水池 已经注满,说明全部水池注满的时间取决于 1水池

    同理 当 1~i水池未注满 而 i+1~n水池 已注满,说明全部水池注满的时间取决于 1~i水池的平均单水池花费

    那么从前开始考虑 即考虑 1~i水池还未注满而后面的水池都已注满

    那么求得的 1~i水池 的最大的平均单水池花费就是 所有水池全部注满的时间

    #include <bits/stdc++.h>
    using namespace std;
    #define LL long long
    #define INF 0x3f3f3f3f
    #define mem(i,j) memset(i,j,sizeof(i))
    #define inc(i,l,r) for(int i=l;i<=r;i++)
    #define dec(i,r,l) for(int i=r;i>=l;i--)
    #define gcd(i,j) __gcd(i,j);
    const int N=1e5+5;
    const int mod=1e9+7;
    const double eps=1e-8;
    
    int n;
    LL v, c[N];
    
    int main()
    {
        while(~scanf("%d%lld",&n,&v)) {
            inc(i,1,n) scanf("%lld",&c[i]);
            double ans1=INF,ans2=-INF;
            LL sum=0;
            dec(i,n,1) {
                sum+=c[i];
                double t=(double)sum/(double)(n-i+1)/(double)v;
                ans1=min(ans1,t);
            }
            sum=0;
            inc(i,1,n) {
                sum+=c[i];
                double t=(double)sum/(double)i/(double)v;
                ans2=max(ans2,t);
            }
            printf("%lf %lf
    ",ans1,ans2);
        }
    
        return 0;
    }
     
    View Code
  • 相关阅读:
    openstack running 2
    openstack running 3
    好东西哟 XD
    Linux 上課用細部調整(转)
    openstack swift install 1
    Spring初识(通过小实例清晰认识Spring)
    Windowphone中如何将项目导出为模板
    WP8点击桌面图标快速恢复应用
    WindowsPhone8中SaveSong方法将音乐文件转存到音乐库中
    Windows Phone 数据绑定之UI Element Binding
  • 原文地址:https://www.cnblogs.com/zquzjx/p/10546968.html
Copyright © 2011-2022 走看看