zoukankan      html  css  js  c++  java
  • Nate and Game(差分数组)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    题目大意
    在一个平面坐标系里,给你 n 个三角形,让你选出一条平行于 x 轴的线,能穿过最大数量的三角形。
    废话不多说,直接上代码,自行理解。

    #include<bits/stdc++.h>
    using namespace std;
    #define maxn 2000005
    
    int n;
    int a[maxn];
    
    int maxx(int a,int b,int c){
        b=max(a,b);
        c=max(b,c);
        return c;
    }
    
    int minn(int a,int b,int c){
        b=min(a,b);
        c=min(b,c);
        return c;
    }
    
    int main()
    {
        int temp=1000000;
        int x1,y1,x2,y2,x3,y3;
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d %d %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3);
            int maxy=maxx(y1,y2,y3),miny=minn(y1,y2,y3);
            a[miny+temp]++;                 //精髓1
            a[maxy+temp+1]--;
        }
        int sum=0;
        for(int i=1;i<=2000000;i++){          //精髓2
            a[i]=a[i]+a[i-1];
            sum=max(sum,a[i]);
        }
        printf("%d
    ",sum);
        return 0;
    }
    希望用自己的努力为自己赢得荣誉。
  • 相关阅读:
    2019届宝鸡理数质检Ⅱ解析版
    随机事件的概率
    三视图
    求曲线的轨迹方程
    组合法破解二项式系数问题
    二项式定理
    计数原理
    HBase的Shell命令
    HBase伪分布安装
    HBase基础知识
  • 原文地址:https://www.cnblogs.com/Mmasker/p/11917484.html
Copyright © 2011-2022 走看看