A334.时间复杂度测试

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

此题用以测试时间复杂度
输入N,输出N即可AC。
测试点X对应的N为pow(10,N)
测试模板O(1)

#include<bits/stdc++.h>
using namespace std;
void go(long long n){
	
}
int main(){
	long long n;
	cin>>n;
	go(n);
	cout<<n;	
}

常见复杂度

//O(N)
for(long long i=1;i<=n;i++); 

O(N^2)
for(long long i=1;i<=n;i++){
	for(long long j=1;j<=n;j++);
}
for(long long i=1;i<=n;i++){
	for(long long j=1;j<=i;j++);
}

O(N*sqrt(N))
for(long long i=1;i<=n;i++){
	for(long long j=1;j*j<=n;j++);  //  j<=n/j ,j<=sqrt(n)
}

O(N*log(N))
for(long long i=1;i<=n;i++){
	for(long long j=1;j<=n;j*=2);  
}
for(long long i=1;i<=n;i++){ //调和级数复杂度
	for(long long j=1;j<=n;j+=i);  
}

输入格式

N

输出格式

N

输入输出样例

  • 输入#1

    3

    输出#1

    3

说明/提示

结论

O(N)108O(N) 10^{8}

O(N2)104O(N^2) 10^{4}

O(Nsqrt(N))105O(Nsqrt(N)) 10^{5}

O(Nlog(N))107O(Nlog(N)) 10^{7}

AC可AC

首页