• P2519 [HAOI2011]problem a


    题目描述

    一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数)

    输入输出格式

    输入格式:

    第一行一个整数n,接下来n行每行两个整数,第i+1行的两个整数分别代表ai、bi

    输出格式:

    一个整数,表示最少有几个人说谎

    ——————————————————————————————————、

    巨短的题面,巨大的码量,我要死了

    与奶牛吃草重合了一部分,可以理解为使其升级版,一开始准备拓扑,结果被题解启发还是打了二分区间

    还是很好的一个题的

    // luogu-judger-enable-o2
    #include<bits/stdc++.h>
    using namespace std;
    int n,m,k,a,b,_ans,ne,head[100001],vis[100001],mk[1000001];
    struct node {int nxt,to;}edge[1000001];
    void adde(int from,int to){
        edge[++ne].to=to;
        edge[ne].nxt=head[from];
        head[from]=ne;
    }
    int dfs(int u) {
       for(int i=head[u];i;i=edge[i].nxt) {
            int g=edge[i].to;
            if(!mk[g]){mk[g]=1;if(!vis[g]||dfs(vis[g])) {vis[g]=u;return 1;}}
        }
        return 0;
    }
    int main() {
        cin>>n>>m>>k;
        while(k--){cin>>a>>b;if(a>n||b>m)continue;adde(a,b);}
        for(int i=1;i<=n;i++){
            memset(mk,0,sizeof(mk));if(dfs(i))++_ans;
        } 
        cout<<_ans;
    }
  • 相关阅读:
    BZOJ 3677 连珠线
    BZOJ 3676 回文串
    BZOJ 3675 序列分割
    BZOJ 4013 实验比较
    BZOJ 4011 落忆枫音
    使用Google BBR加速 VPS
    OSX编译安装Python3及虚拟开发环境Virtualenv
    OSX安装Mysql8.0
    OpenSSL编程之摘要
    OpenCA搭建
  • 原文地址:https://www.cnblogs.com/SFWR-YOU/p/10924078.html
Copyright © 2020-2023  润新知