07 2023 档案
摘要:我高估了这道题的难度,以为至少有橙题的难度,一般不打表的我毫不犹豫选择了用dfs解决此题,倒也没用太多时间,也完全正确,只不过做完题后打开题解发现只要用四五个while就能解决这个问题,我这完全是杀鸡用牛刀了。
阅读全文
摘要:这是一道略复杂的常规BFS题,但我想用DFS来解决,结果写出代码却总是主函数异常返回,不知哪里错了,检查半天也没发现,以后再看看吧。
阅读全文
摘要:总结
1 同时试验了O(k*根号n)的质数试验法和O(nloglogn)≈O(n)的埃氏筛法,虽然看上去筛法更快,但是,当k不大且n不小的时候,即真正所需知道是否的质数的数不多时,朴素的挨个试验法其实更快,两个方法的代码都在这里。
2 scanf/printf功能更强大而且读写速度几乎比cin/cout快了一倍,所以请尽量使用scanf/printf
3 TLE时,可以试试把scanf/printf替换成更加快速的基于getchar()的快读快写函数(需要理解并记忆)
4 别瞧不起打表,TLE时试试打表。且同一题中打表可能有多种打法,有些打法出来的表就很小,可以用这种(比如本题中打质数表和答案表都可以,但后者显然小得多得多)。
5 就算实在不想打表,也可以半打表,即通过观察TLE程序的最终输出,寻找无需计算的部分进行优化(比如本题中发现8位数中根本没有符合题意的数字,所以算到10000000时直接不算了)
阅读全文
摘要:如何发现自己程序的问题?请按下面的列表依次检索,即可发现问题,若未发现问题则很可能是程序已经合格。 1 程序的鲁棒性,即输入边界数据等特殊数据时能否给出正确结果 2 是否TLE 3 是否MLE 解决方法 1.鲁棒性不足:设置特例特判的机制 2.TLE cin/cout替换成scanf/printf,
阅读全文