一般评测机一秒最多可以运行 一亿次 即 10^8次。而一般编程竞赛都会将时间限制为 1000ms 即 1s。在这种情况下,C++ 代码的操作次数控制在 10e7~10e8为最佳。
1000ms意味着
O(n3)的算法,可以几百,一般题目给的数据范围为100。
O(n2)的算法,可以几千,一般不到万,经常出现的就是数据范围1000。
O(nlongn)或者O(n)的算法,最常见的数据范围就是为100000。
下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:
一般评测机一秒最多可以运行 一亿次 即 10^8次。而一般编程竞赛都会将时间限制为 1000ms 即 1s。在这种情况下,C++ 代码的操作次数控制在 10e7~10e8为最佳。
1000ms意味着
O(n3)的算法,可以几百,一般题目给的数据范围为100。
O(n2)的算法,可以几千,一般不到万,经常出现的就是数据范围1000。
O(nlongn)或者O(n)的算法,最常见的数据范围就是为100000。
下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: