2019.10.30模拟赛总结

· · 个人记录

上次的总结写的又臭又长,这次就开门见山吧。

今天题目整体难度与Day1差不多,可能偏简单,但也只拿了220分。今天继续倒着开题。

最后一题是一个是个最短路+边双的题目,看出题目意思后直接套模板,写了40min左右,然而这题我却犯了两个失误,导致最后差点爆零。第一个是考前最后十分钟以为自己想的太简单了,直接判两点是否在同一边双,而忽略了是否在给定点S,T的路径上,于是急急忙忙改成倍增LCA之后,又发现可以直接O(n)预处理,心态差点崩,还好比赛拖延5分钟让我改好了。

然而第二个错误更为致命,我在跑完两遍最短路后重新建图,竟然忘了把etot清零了,还好数据不是很强,拿了90分,不然就全变成暴力分了。时刻警醒。

第二题是luogu原题又是毕业季加强版,数据范围全变成了50w,打了o(n*根号n)的暴力算法,数据太水竟然过了!正解是桶计数后枚举gcd,时间复杂度是调和级数。学到了。

第一题最后写。一直在想DP怎么消除小数的影响和后效性,最后40min左右偶然发现可以贪心,改了改之后过了样例,交上去结果30,居然是因为优先队列重载运算符时把符号打反了(优先队列默认大于,要反其道而行之)!

以后今天三题虽然难度整体偏低,但确实让我收获不少,了解了调和级数时间复杂度,也让我粗心的老毛病再次暴露。希望下一次能做的更好吧。