zoukankan      html  css  js  c++  java
  • ZOJ 3607贪心算法

    http://blog.csdn.net/ffq5050139/article/details/7832991

    http://blog.watashi.ws/1944/the-8th-zjpcpc/

    http://blog.csdn.net/crescent__moon/article/details/16801097

     1 #include<cstdio>
     2 #include<cstring>
     3 const int Max=100003;
     4 double t[Max],p[Max],lev[Max];
     5 double max(double a,double b){
     6     return a>b?a:b;
     7 }
     8 int main(){
     9     int i,j,n,T;
    10     double sum,ans,anst,w;
    11     scanf("%d",&T);
    12     while(T--){
    13         sum=ans=anst=0;
    14         scanf("%d",&n);
    15         for(i=0;i<n;i++)
    16             scanf("%lf",&p[i]);
    17         for(i=0;i<n;i++)
    18             scanf("%lf",&t[i]);
    19 
    20         lev[0]=t[0];
    21         //printf("lev[1] = %.6lf
    ",lev[0]);
    22         for(i=1;i<n;i++){
    23             lev[i]=max(t[i]-t[i-1],lev[i-1]);
    24         }
    25         for(i=0;i<n;i++){
    26             w=lev[i];
    27             sum=0;
    28             for(j=0;j<n;j++){
    29                 if(w >= lev[j])
    30                     sum += p[j];
    31                 else
    32                     break;
    33             }
    34 
    35             if(ans < sum / j){
    36                 ans=sum/j;
    37                 anst=w;
    38             }
    39         }
    40         printf("%.6lf %.6lf
    ",anst,ans);
    41     }
    42     return 0;
    43 }
    Lazier Salesgirl

    Time Limit: 2 Seconds      Memory Limit: 65536 KB

    Kochiya Sanae is a lazy girl who makes and sells bread. She is an expert at bread making and selling. She can sell the i-th customer a piece of bread for price pi. But she is so lazy that she will fall asleep if no customer comes to buy bread for more than w minutes. When she is sleeping, the customer coming to buy bread will leave immediately. It's known that she starts to sell bread now and the i-th customer come after ti minutes. What is the minimum possible value of w that maximizes the average value of the bread sold?

    Input

    There are multiple test cases. The first line of input is an integer T ≈ 200 indicating the number of test cases.

    The first line of each test case contains an integer 1 ≤ n ≤ 1000 indicating the number of customers. The second line contains n integers 1 ≤ pi ≤ 10000. The third line contains n integers 1 ≤ ti ≤ 100000. The customers are given in the non-decreasing order of ti.

    Output

    For each test cases, output w and the corresponding average value of sold bread, with six decimal digits.

    Sample Input

    2
    4
    1 2 3 4
    1 3 6 10
    4
    4 3 2 1
    1 3 6 10
    

    Sample Output

    4.000000 2.500000
    1.000000 4.000000
    

  • 相关阅读:
    仿函数(functor)
    七周七语言
    面向签名编程
    git checkout简介
    .gitkeep常用写法
    PhpStorm terminal无法输入命令的解决方法
    原 在windows上创建文件名以“.”开头的文件
    cmd 里面运行git提示“不是内部或外部命令,也不是可运行的程序”的解决办法
    .gitkeep
    git/github运用
  • 原文地址:https://www.cnblogs.com/wushuaiyi/p/3643786.html
Copyright © 2011-2022 走看看