我是一名Java程序员。我发现很多次,即使我的算法是正确的,我在使用codechef提交的时间上超过了时间限制。在编程竞赛中提交Java解决方案时,是否应该采用一些技术?
答案 0 :(得分:5)
在CodeChef上,Java中的所有提交都比其母语(例如,c / c ++ / pascal)对应的时间限制长2倍。然而,有一点没有提到的是,当内存消耗量很高时,Judge开始表现得非常缓慢,而这种情况经常发生在Java解决方案中。对于所有Java程序,CodeChef判断运行的内存设置为64 MB。您应该尝试使用尽可能少的内存,并尝试在本地运行相同的解决方案-Xms = 64 MB。
增加的时间限制也可能是由于当程序的内存使用量接近允许的最大值(在这种情况下为64 MB)时,JVM会调用垃圾收集器,它会非常密集地使用CPU,因此会延迟程序执行。