求助刚才CF的B为什么TLE5
  • 板块学术版
  • 楼主wangshi
  • 当前回复15
  • 已保存回复15
  • 发布时间2023/1/10 21:52
  • 上次更新2023/10/24 04:49:19
查看原帖
求助刚才CF的B为什么TLE5
541553
wangshi楼主2023/1/10 21:52
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#define ll long long
#define fi first
#define se second
using namespace std;
const int N=1e5+10,M=2e5+10;
typedef pair<int,int> PII;
void solve()
{
	int s[M]={0};
	vector<int> k,p;
	int n;
	bool flag=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int m,x;
		bool f=1;
		cin>>m;
		k.push_back(m);
		while(m--)
		{
			cin>>x;
			s[x]++;
			p.push_back(x);
			if(s[x]==1) f=0;
		}
		if(f) flag=1;
	}
	if(flag)
	{
		cout<<"YES\n";
		return;
	}
	int s1=0;
	for(int i=0;i<n;i++)
	{
		bool f=1;
		for(int j=0;j<k[i];j++)
		{
			if(s[p[s1+j]]<2)
			{
				f=0;
				break;
			}
		}
		s1+=k[i];
		if(f) 
		{
			cout<<"YES\n";
			return;
		}
	}
	cout<<"NO\n";
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	int t;
	cin>>t;
	while(t--)
		solve();
	return 0;
}


感觉复杂度跟输入的复杂度一样了啊

2023/1/10 21:52
加载中...