zoukankan      html  css  js  c++  java
  • 【小米oj】 大胃王的烦恼

    离散化+前缀和,也可以优先队列搞一搞

     1 #define mm(a) memset(a,0,sizeof(a));
     2 #define max(x,y) (x)>(y)?(x):(y)
     3 #define min(x,y) (x)<(y)?(x):(y)
     4 #define Fopen freopen("1.in","r",stdin); freopen("m.out","w",stdout);
     5 #define rep(i,a,b) for(int i=(a);i<=(b);i++)
     6 #define per(i,b,a) for(int i=(b);i>=(a);i--)
     7 #include<bits/stdc++.h>
     8 typedef long long ll;
     9 #define PII pair<ll,ll>
    10 using namespace std;
    11 const int INF=0x3f3f3f3f;
    12 const int MAXN=(int)4e5 + 5;
    13 
    14 struct node {
    15     ll l,r;
    16     int id;
    17 } a[MAXN];
    18 int n,dp[MAXN];
    19 vector<ll>v;
    20 int getid(ll x) {
    21     return lower_bound(v.begin(),v.end(),x)-v.begin()+1;
    22 }
    23 int main() {
    24     while(~scanf("%d",&n)) {
    25         v.clear();
    26         for(int i=1; i<=n; i++) {
    27             scanf("%lld%lld",&a[i],&a[i].r);
    28             v.push_back(a[i].l);
    29             v.push_back(a[i].r);
    30         }
    31         sort(v.begin(),v.end()),v.erase(unique(v.begin(),v.end()),v.end());
    32         int sz=v.size();
    33         for(int i=0; i<=sz; i++)dp[i]=0;
    34         for(int i=1; i<=n; i++) {
    35             int l=getid(a[i].l);
    36             int r=getid(a[i].r);
    37             dp[l]++;
    38             dp[r+1]--;
    39         }
    40         int max1=0;
    41         for(int i=1; i<=sz; i++) {
    42             dp[i]+=dp[i-1];
    43             max1=max(max1,dp[i]);
    44         }
    45         printf("%d
    ",max1);
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    js_类数组转化为数组
    js_立即执行函数
    react-router详解
    闭包_详解
    react_生命周期执行顺序
    Git-Gitlab-Genkins持续集成
    java 通用查询
    java-JDBC事务
    java中的session和cookie实现购物车的结算和清空
    servlet服务器
  • 原文地址:https://www.cnblogs.com/dogenya/p/10815591.html
Copyright © 2011-2022 走看看