ABC 257

写在前面

菜出*来了

E

贪心 。

由题可得,操作一次可以使 \(x\) 的数位 \(+1\) ,要是 \(x\) 最大,首先是 \(x\) 的位数最多。考虑贪心,全用 \(cost\) 最小的操作使得位数最多。(当然在 \(cost\) 相同时,用较大的数)。在位数一定,高位越大, \(x\) 的值越大。同样考虑贪心,从考虑将最高位变为 \(9\) 开始,能变就看下一位,不能变就将变的值减小,直到这个值等于最开始的值。

code

F

最短路。为什么deque优化spfa比dij快接近一倍

对于每一个 \(i\) , 答案是 \(min\{ min(dis_{1 \to u}+1+dis_{i \to n},dis_{1 \to i}+1+dis_{u \to n})\}\) 和原图中较小的。

我们发现对于每一个未确定的边,经过他的答案是 \(min(dis_{1 \to u}+1+dis_{i \to n},dis_{1 \to i}+1+dis_{u \to n})\) ,其中令 \(ans1=dis_{1 \to u+1},ans2=dis_{n \to u +1}\) 是一定的,结合前面那个式子,直接预处理出这两个值。对于每一个 \(i\) 的答案就是 \(min(ans1+dis_{i \to n},ans2+dis_{i \to 1})\) 和原图的答案了。

时间复杂度 \(O(跑的过)\)

code

G

KMP。

code

Ex

posted @ 2022-06-30 20:26  starrylasky  阅读(36)  评论(0)    收藏  举报