zoukankan      html  css  js  c++  java
  • [洛谷] P1204 挤牛奶

    贪心 线段重合

    求最大重叠段长度

    和最大间距

    //#pragma GCC optimize(2)
    #include <cstdio>
    #include <iostream>
    #include <cstdlib>
    #include <cmath>
    #include <cctype>
    #include <string>
    #include <cstring>
    #include <algorithm>
    #include <stack>
    #include <queue>
    #include <set>
    #include <map>
    #include <ctime>
    #include <vector>
    #include <fstream>
    #include <list>
    #include <iomanip>
    #include <numeric>
    using namespace std;
    typedef long long ll;
    
    const int MAXN = 1e6 + 10;
    
    ll ra = 0, rb = 0;
    
    struct node
    {
        ll fst, lst;
    }arr[MAXN];
    
    bool cmp(node a, node b)
    {
        if(a.fst != b.fst)
            return a.fst < b.fst;
        return a.lst ;
    }
    
    int main()
    {
        //ios::sync_with_stdio(false);
    
        //cin.tie(0);     cout.tie(0);
    
        int T;
    
        cin>>T;
    
        for(int i = 0; i < T; i++)
            cin>>arr[i].fst>>arr[i].lst;
    
        sort(arr, arr + T, cmp);
    
        /*printf("
    ");
    
        for(int i = 0; i < T; i++)
            cout<<arr[i].fst<<' '<<arr[i].lst<<endl;*/
    
        ll linkfst = arr[0].fst, linklst = arr[0].lst;
    
        ra = max(ra, linklst - linkfst);
    
        for(int i = 1; i < T; i++)
        {
            if(arr[i].lst > linklst && arr[i].fst <= linklst)
            {
                linklst = arr[i].lst;
                ra = max(ra, linklst - linkfst);
            }
            else if(arr[i].fst > linklst)
            {
                rb = max(rb, arr[i].fst - linklst);
    
                linkfst = arr[i].fst, linklst = arr[i].lst;
    
                ra = max(ra, linklst - linkfst);
            }
            
        }
    
        //printf("
    ");
        
        cout<<ra<<' '<<rb<<endl;
    
    
        return 0;
    }
  • 相关阅读:
    C#中的反射解析及使用(转)
    给GRUB添加新的项目
    EFI系统引导的一些零碎知识点
    Mysql 通用知识 2019-03-27
    为git关联编辑器(比如notepad++) Associating text editors with Git
    win10 右键添加“在此打开powershell”
    LINQ
    Git学习笔记——分支
    Docker 安装 mysql
    RestTemplateBuilder类
  • 原文地址:https://www.cnblogs.com/zeolim/p/12270457.html
Copyright © 2011-2022 走看看