一般评测机一秒最多可以运行 一亿次 即 10^8次。而一般编程竞赛都会将时间限制为 1000ms 即 1s。在这种情况下,C++ 代码的操作次数控制在 10e7~10e8为最佳。

1000ms意味着

O(n3)的算法,可以几百,一般题目给的数据范围为100。

O(n2)的算法,可以几千,一般不到万,经常出现的就是数据范围1000。

O(nlongn)或者O(n)的算法,最常见的数据范围就是为100000。

下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:

参考:如何由数据范围反推算法复杂度以及算法内容_ACfun-CSDN博客

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐