Hack
  • 板块P1878 舞蹈课
  • 楼主369Pai
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/1/31 12:54
  • 上次更新2023/10/24 02:24:32
查看原帖
Hack
290023
369Pai楼主2023/1/31 12:54

所有不用链表直接用 while 找左右两边第一个没有出列的人的题解都是错的,最坏时间复杂度是 O(n2)\mathcal{O}(n^2),每次出列的人相邻即可卡掉。

数据生成器:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	freopen("P1878.in" , "w" , stdout);
	int n = 2e5;
	printf("%d\n" , n);
	for(int i = 1 ; i <= n ; i++)
		putchar((i & 1 ? 'B' : 'G'));
	puts("");
	for(int i = 1 ; i <= n ; i++)
		printf("%d " , (i & 1 ? 0 : i / 2));
	return 0;
}

被叉的题解:

@louis_ll

@water_mi

@Kalium

@miao5

@hanzhang666

@amhxyp

@chager

@Merci

@巧若拙

@荣一鸣

@moye到碗里来

@日语酱

2023/1/31 12:54
加载中...