zoukankan      html  css  js  c++  java
  • poj 1018

    好多人都搜过的。

    但是排序然后三分代码短且快。

    同样是过,也有好坏之分。

    #include <iostream>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    
    int n;
    int t;
    int len[111];
    int b[111][111];
    int p[111][111];
    int a[222222];
    int m;
    
    double calc(int x)
    {
        double sum(0);
        for (int i=1; i<=n; i++)
        {
            int xiao = 2147483647;
            for (int j=1; j<=len[i]; j++)
                if (b[i][j] >= x) xiao = min(xiao, p[i][j]);
            sum += xiao;
        }
        return x / sum;
    }
    int main(void)
    {
        int i,j,k,ci,cici,cicici;
    
        for (scanf("%d", &t); t; t--)
        {
            scanf("%d", &n);
            for (i=1; i<=n; i++)
            {
                scanf("%d", &len[i]);
                for (j=1; j<=len[i]; j++)
                {
                    scanf("%d%d", &b[i][j], &p[i][j]);
                    a[++m] = b[i][j];
                }            
            }
    
            sort(a+1, a+1+m);
    
            int left = 1, right = m, mid1, mid2;
            double f1, f2;
            while(left + 1 < right)
            {
                mid1 = (left + right) / 2;
                mid2 = (mid1 + right) / 2;
                f1 = calc(a[mid1]);
                f2 = calc(a[mid2]);
                if (f1 < f2) left = mid1;
                else right = mid2;
            }
            printf("%.3lf
    ", max(calc(a[left]), calc(a[right])));
        }
        return 0;
    }
    codeeeee
  • 相关阅读:
    linux最简单项目部署
    sql索引
    /etc/profile和~/.bash_profile区别
    Linux下查找软件的目录位置
    为什么要使用消息队列?
    idea中常用的快捷键
    PAT 甲级 1023 Have Fun with Numbers (20分)
    PAT《算法笔记》
    Text 2
    Text-1
  • 原文地址:https://www.cnblogs.com/Rainb/p/3845100.html
Copyright © 2011-2022 走看看