关于超时的一些说明(我的一些总结)

楼主参加过一段时间的算法竞赛,被卡过输入输出,知道一些解决办法。
本来以为笔试不会卡输入,没想到真的卡了几次。
现在给大家说一些关于输入超时和复杂度的问题。

先说复杂度:
一般来说1s的题,计算量不能超过1e8(10的8次方),否则就有超时的风险。
例如一个题有1e3的数据,那n^2不会超时,n^3就会超时。
1e6数据情况下,一般n^2超时,nlogn和O(n)都不会超时。

关于卡输入、输出这种。
java的Scanner和System.out.println和c++的cin和cout用的比较多,但其实这两种IO方式都是相对很慢的。在输入量比较大的情况下就会超时。
至于这个“大”有多少呢?大概是1e5-1e6个int这么多吧,牛客的oj应该在5e5左右(所以超过这个就不能用了)

java用有一个BufferReader,PrintWriter,而c++可以用scanf和printf。可以解决这个输入量。
而更大的输入量就需要输入输出挂了(这个一般不会卡,只有算法竞赛会用到)。

以上,希望对大家有帮助。
虽然我笔试也不算很厉害(基本上每次都是差一道题Ak的水平),但是如果大家有什么想问的可以在下面说一下,我会不断更新这个帖子。
#笔试题目#
全部评论
日常超时选手表示受教了 多谢老哥
1 回复 分享
发布于 2020-09-07 17:36
给瓜瓜点赞
点赞 回复 分享
发布于 2020-09-07 18:14
6666
点赞 回复 分享
发布于 2020-09-07 18:41
请问大佬是怎么学习算法的,有推荐的学习路线吗
点赞 回复 分享
发布于 2020-09-12 21:19
请问go的输入输出用什么比较好呀
点赞 回复 分享
发布于 03-11 13:44 广东

相关推荐

今天 11:53
西京学院 Java
点赞 评论 收藏
分享
GGrain:没事,本硕985也不发面试笔试😖
点赞 评论 收藏
分享
头像
10-22 19:18
上海大学 后端
bxiajuxujwjqna:水印都叠杀人书了
点赞 评论 收藏
分享
12 11 评论
分享
牛客网
牛客企业服务