如何判断约束绑定编码的时间限制?

Posted

技术标签:

【中文标题】如何判断约束绑定编码的时间限制?【英文标题】:How to judge Time Limit for a constraint bound coding? 【发布时间】:2016-01-31 16:16:36 【问题描述】:

我看到许多编码网站都说明了在提交任何问题的解决方案时要考虑的时间限制和源代码限制的大小。我从来没有弄清楚我如何检查我的代码是否会通过,如果它的指数时间限制是可疑的,或者 O(n^2) 可能是 2 秒,具体取决于输入的大小。但是我怎么能粗略地知道这么大的测试用例会在规定的时间内通过呢? 一些好的例子会有所帮助。

【问题讨论】:

请阅读en.wikipedia.org/wiki/Big_O_notation - 程序运行的实际时间取决于很多因素。 【参考方案1】:

有一些经验法则,但很大程度上取决于裁判系统使用的硬件/编程语言。最好的方法是进行一些测试,如 for 循环或将随机数放入优先级队列中,只是为了感受一下。

大多数情况下,如果您需要超过 10^7 个步骤(可能包含几个简单的操作),那么您必须注意超时。这意味着:

    如果运行时间为 O(n!),则 n>11 已经很关键:您至少有 10^7 次操作,而且很多。 如果运行时间为 O(2^n),则对于 n25 来说风险太大 如果运行时间为 O(n^3),那么 n 应该在 300 左右。 对于 O(n^2),n=5000 可能没问题,但 10000 很可能会失败。 对于 n 对于 n

但是,如前所述,这些数字可能会因评审系统而异

【讨论】:

以上是关于如何判断约束绑定编码的时间限制?的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver中如何判断一个约束是不是存在?就像判断一个表或库是不是存在一样。

怎样判断一个字符是否汉字呢??

(C#) 如class Demo<T,V> where T:这里如何约束T只能是枚举类型

iOS 输入框如何限制字符长度和emoji

判断子表外键约束参数类型

如何判断一个文件的编码格式,UNICODE,BIG5,毕业设计