牛客白月赛11题解

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客白月赛11题解相关的知识,希望对你有一定的参考价值。

https://ac.nowcoder.com/acm/contest/370#question

目录

签到题

 #include<bits/stdc++.h>
 #define fi first
 #define lc (x<<1)
 #define se second
 #define U unsigned
 #define rc (x<<1|1)
 #define Re register
 #define LL long long
 #define MP std::make_pair
 #define CLR(i,a) memset(i,a,sizeof(i))
 #define FOR(i,a,b) for(Re int i = a;i <= b;++i)
 #define ROF(i,a,b) for(Re int i = a;i >= b;--i)
 #define SFOR(i,a,b,c) for(Re int i = a;i <= b;i+=c)
 #define SROF(i,a,b,c) for(Re int i = a;i >= b;i-=c)
 #define DEBUG(x) std::cerr << #x << '=' << x << std::endl
 using namespace std;
 const int MAXN = 1000000+5;
 int N,maxL,st[MAXN];
 std::set<std::pair<int,int> > L;
 inline int calc()
 
 	 int cnt=0;
     for(int i=0;i<=maxL;i++) if(st[i]) cnt++;
     return cnt;
 
 int main()
     scanf("%d%d",&N,&maxL);
     while(N--)
         int opt,x,y;
         scanf("%d%d%d",&opt,&x,&y);
         if(opt == 1)
             if(L.find(MP(x,y)) != L.end()) continue;
             L.insert(MP(x,y));
             for(int i=x;i<=y;i++) st[i]++;
         
         if(opt == 2)
             if(L.find(MP(x,y)) == L.end()) continue;
             L.erase(MP(x,y));
             for(int i=x;i<=y;i++) st[i]--;
         
         if(opt == 3)
             printf("%d\\n",calc());
         
     
     return 0;
 

Rinne Loves Graph【图论】

Rinne Loves Study【思维】

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m,t;
int x[N],y[N]; 
int main(void)

	cin>>n>>m>>t;
	for(int i=1;i<=t;i++)
	
		int op,a; cin>>op>>a;
		if(op==1) x[a]=i;
		else y[a]=i;
	
	for(int i=1;i<=n;i++)
	
		for(int j=1;j<=m;j++)
		
			cout<<max(x[i],y[j])<<" ";
		
		cout<<endl;
	
	return 0;

以上是关于牛客白月赛11题解的主要内容,如果未能解决你的问题,请参考以下文章

牛客白月赛8题解

牛客白月赛4 题解

牛客白月赛12题解

牛客白月赛14题解

牛客白月赛32题解

牛客白月赛31题解