AcWing 3745. 牛的学术圈 I 理解题意+枚举答案(妙)
Posted karshey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AcWing 3745. 牛的学术圈 I 理解题意+枚举答案(妙)相关的知识,希望对你有一定的参考价值。
AcWing 3745. 牛的学术圈 I 原题
参考题解:封禁用户大佬的题解:AcWing 3745. 牛的学术圈 I两种方法——1.二分;2.只要一个for和一个数组
我的打卡
枚举答案,找出第一个不符合题意的i,于是i-1就是答案。
#include<bits/stdc++.h>
using namespace std;
#define fir(i,a,n) for(int i=a;i<=n;i++)
const int N=1e5+10;
int n,l;
int a[N];//引用量为i的的个数有a[i]个
int main()
cin>>n>>l;
fir(i,1,n)
int t;cin>>t;a[t]++;
int t=n;
int i;
//定义答案为引用指数,枚举答案
for(i=1;i<=n;i++)
t-=a[i-1];//减去引用量小于答案的文章个数
//若出现:当前>=i的文章个数+能通过+1>=i的文章个数 之和<i
//说明第一次出现不符合的情况
if(t+min(a[i-1],l)<i)
//i是第一次出现的不符合的情况,则输出i-1
break;
cout<<i-1;
return 0;
以上是关于AcWing 3745. 牛的学术圈 I 理解题意+枚举答案(妙)的主要内容,如果未能解决你的问题,请参考以下文章