求时间复杂度
  • 板块学术版
  • 楼主nkhuangyuxuan
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/12/4 18:25
  • 上次更新2024/12/4 21:06:21
查看原帖
求时间复杂度
940016
nkhuangyuxuan楼主2024/12/4 18:25

能过[CodeForces-474F](1n1051\le n \le10^5)和一道目前不知道题号的题(1n31051\le n \le 3 \cdot 10^5)。

#include<bits/stdc++.h>
using namespace std;
#define N 300005
int n;
int a[N];
int L[N],R[N];
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	for(int i=1;i<=n;i++){
		L[i]=i;
		for(int j=i-1;j>=1;j--){
			if(a[j]%a[i]!=0)break;
			else if(a[j]==a[i]){
				L[i]=L[j];
				break;
			}
			L[i]=j;
		}
	}
	for(int i=n;i>=1;i--){
		R[i]=i;
		for(int j=i+1;j<=n;j++){
			if(a[j]%a[i]!=0)break;
			else if(a[j]==a[i]){
				R[i]=R[j];
				break;
			}
			R[i]=j;
		}
	}
	return 0;
}
2024/12/4 18:25
加载中...