假期计划DAY1的模拟赛总结

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值