用vector实现3,4数据太多超时,怎么优化
  • 板块P1160 队列安排
  • 楼主JJdejj
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/1/29 13:57
  • 上次更新2023/10/24 02:42:23
查看原帖
用vector实现3,4数据太多超时,怎么优化
865518
JJdejj楼主2023/1/29 13:57
#include <iostream>
#include<algorithm>
#include <string>
#include <vector>
#include<queue>
using namespace std;
queue<int>q;
vector<int>v;
int N;
int main()
{
	cin >> N;
	v.push_back(1);
	int a, b;
	for (int i = 2; i <= N ; i++)
	{
		cin >> a >> b;
		if (b == 0)
		{
			//把 i 插入 a 左边
			v.insert(find(v.begin(), v.end(), a), i);
		}
		else if (b == 1)
		{
			//把 i 插入 a 左边
			v.insert(find(v.begin(), v.end(), a)+1, i);
		}
	}
	/*for (auto& it : v)
	{
		cout << it << " ";
	}
	*/
	int M;
	cin >> M;
	for (int i = 0; i < M; i++)
	{
		int tmp;
		cin >> tmp;
		if (find(v.begin(), v.end(), tmp) != v.end())
		{
			v.erase(find(v.begin(), v.end(), tmp));
		}
		else
			continue;
	}
	for (auto& it : v)
	{
		cout << it << " ";
	}
	return 0;
}

2023/1/29 13:57
加载中...