关于月赛B的时间复杂度
  • 板块学术版
  • 楼主MrPython小河狸贝瓦
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/6/3 18:20
  • 上次更新2023/10/23 13:58:39
查看原帖
关于月赛B的时间复杂度
679581
MrPython小河狸贝瓦楼主2023/6/3 18:20

如下,代码十分简洁明了。

#include<bits/stdc++.h>
using namespace std;
using ui=unsigned int;
int main(void){
    ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
    size_t n;size_t m;
    cin>>n>>m;
    vector<bool> arr(n),vis(n);
    while (m--){
        size_t a;
        cin>>a;
        a=__gcd(a,n);
        if (vis[a]){
            cout<<"0 ";
            continue;
        }
        vis[a]=true;
        size_t cnt=0;
        for (size_t i=0;i<n;i+=a) if (!arr[i]) cnt++,arr[i]=true;
        //for (const auto& i:arr) cout<<i<<',';
        cout<<cnt<<' ';
    }
    return 0;
}

其在什么时候时间复杂度最高?是多少?为什么?

2023/6/3 18:20
加载中...