为什么线段树会T啊
查看原帖
为什么线段树会T啊
56739
Soknock楼主2020/8/8 11:14

rt
记得线段树一次操作是logn级别的

然后枚举数字的时候是O(n)

总体也是O(nlogn)啊??

求教QAQ

这是主程序的一部分

	cin>>n;
	for(int a=1;a<=n;a++){
		cin>>per1[a].data;
		per1[a].id=a;
	}
	for(int b=1;b<=n;b++){
		cin>>per2[b].data;
		per2[b].id=b;
	}
	sort(per2+1,per2+n+1,cmp);
	for(int a=1;a<=n;a++)
		id[a]=per2[a].id;
	for(int a=1;a<=n;a++)
		per1[a].id=id[per1[a].data];
	build(root);
	for(int a=1;a<=n;a++){
		int maxx=query(root,1,per1[a].id-1);
		f[per1[a].id]=maxx+1;
		add(root,per1[a].id,f[per1[a].id]);
	}
2020/8/8 11:14
加载中...