A422 | 时间复杂度测试
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
此题用以测试时间复杂度
输入 $N$,输出 $N$ 即可AC。
测试点 $X$ 对应的 $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$ 即可AC。
测试点 $X$ 对应的 $N$ 为
pow(10,X) 测试模板时间复杂度为 $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) 10^{8}$
$O(N^2) 10^{4}$
$O(Nsqrt(N)) 10^{5}$
$O(Nlog(N)) 10^{7}$
$O(N) 10^{8}$
$O(N^2) 10^{4}$
$O(Nsqrt(N)) 10^{5}$
$O(Nlog(N)) 10^{7}$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?