假期计划DAY1的模拟赛总结

我敲啊,lemon配错了,没忽略行末空格,直接挂了100+……

乍一眼看完题目很水啊,而且很似曾相识……T1是很久之前写过的简单二分,原题好像叫跳石头还是啥的。10min+才切掉,感觉手有点慢了……用lrd老师的话说,10min是要能轻松敲完一棵Treap的……我还是太弱了。
T2想了有一会儿。其实是很简单的。题意是求单源到各点的最短路条数,我跑了遍SPFA,有些细节的累加还是推敲了一下……其实边权全是1,按题解说的BFS无脑过一遍就OK了。SPFA处理起来反而更麻烦一些。

T3其实也很简单,然而做到最后实在捱不住困,敲了个裸的最短路骗了30就滚去睡了……
题目大意:无向连通图,给定起点终点和K次不走某条边的机会,求波最短路。
我骗了K=0的分……
但是睡醒一看题解真的很简单啊,一个很显然的DP转移,令 f [ i ] [ j ] 表示从起点走到 i ,不走 j 条边的最短路,则转移方程为: f [ i ] [ j ] = m i n ( f [ x ] [ j ] + v ( i , x ) , f [ x ] [ j 1 ] ) x i 有边直接相连。但我订正的时候犯了个非常呆的错误,我在求完最短路之后处理了一遍 f 数组………………这些能用来转移的边都是最短路径上的边啊TT,应该在SPFA的过程中转移,并且应该是刘汝佳提到过的那种“挂表法”(好像叫这个……),即自上传递影响,而非直接处理下层转移。
数组越界会发生的错误真的无所不有。因为转移要用的状态比原来多,队列开小了,TLE了三个点,照 s t d 改成循环队列就好了,舒神一语点醒梦中傻逼,确实是数组开小了……

以我的水平和今天的状态能拿到这么多分,感觉是普及难度吧……

集训结束,之前报的省选入门,本来想假期把提高那边的模拟题都打一遍,现在看来好像也不是特别有价值……再打几天吧。排了时间表,早上很认真地写了题,睡了个午觉,然后就没从床上起来过…………这可恶的手机味道竟然该死的甜美。不过我没有理由沉迷社交平台啊,不能干无谓的事……

最近还是蛮丧的,好好学习才是我应该想的。总之第一天开了个很不好的头,就以割舍晚上的划水时间作为惩戒吧。

猜你喜欢

转载自blog.csdn.net/hfl030/article/details/81190053
今日推荐