2023.10.30 模拟赛总结

总结

\qquad 考成矢了……

时间安排

7 : 40 ∼ 8 : 00 \qquad 7:40\sim 8:00 7:408:00 通读题面,发现 T 1 , T 2 T1,T2 T1,T2 可能有一点可做,打好了包子皮,对拍, r a n d o m random random 之后开 T 1 T1 T1

8 : 00 ∼ 10 : 00 \qquad 8:00\sim 10:00 8:0010:00 发觉 T 1 T1 T1 貌似是个可持久化并查集?想着 cqyc 的题果然不一般……具体想了些细节后发现可持久化并查集实现起来是 O ( l o g 2 ) O(log^2) O(log2) 的,因为查询的时候得带个二分。然后跟旁边的 klz dalao 进行了一波“加密通话”:

我:好像要上大数据结构啊。
klz:对啊,我也觉得。
我:你想的也是那个吧?
klz:你想的也是吧?
我:但是复杂度不是很对啊?
klz:对啊,还需要那个(我以为是主席树上二分)。
我:对对对,还需要个那个(应和)。

\qquad 当时就觉得,这题绝对是这,稳了,但是发觉主席树上是不是不能二分?就想 klz 竟然连这都会,tql。于是打算先写一个 O ( n    log 2 ) O(n\;\text{log}^2) O(nlog2) 的,拿个 80 p t s 80pts 80pts。写了一会后 czy 来“视察”了一下,说 klz 在上 csdn 爆搜?于是看了一看 klz 在搜什么。一看, O ( 1 ) O(1) O(1) LCA \text{LCA} LCA,一下子慌了。主席树为什么要求 LCA \text{LCA} LCA?直接懵了,但是没管,继续写。写着写着发现,想用主席树来实现好像还得配个启发式合并,这样跟每次开个新树有啥差别?(其实也是 O ( n    log 2 ) O(n\;\text{log}^2) O(nlog2) 的,但是当时没注意到)就先跳了,去写 T2 \text{T2} T2

10 : 00 ∼ 11 : 10 \qquad 10:00\sim 11:10 10:0011:10 T 2 T2 T2,真就是一眼贪心。发现减号一点用没有,相当于讨论加乘怎么放最优。发现非 1 1 1 段一定全乘, 1 1 1 段一定符号相同,那就可以直接把相同段合并,然后讨论符号即可。发现若一个非 1 1 1 段的乘积很大,那么填乘号一定优,于是就讨论 1 1 1 段两边的非 1 1 1 段的乘积与和的大小,然后填符号(但是是错的),就写了,大概能过样例就交了。

11 : 10 ∼ 11 : 40 \qquad 11:10\sim 11:40 11:1011:40 简单打了 T3,T4 \text{T3,T4} T3,T4 的暴力,发现 T4 \text{T4} T4 交个包子皮都能拿分,很是逆天。

考试结果

0 + 20 + 16 + 1 = 37 p t s ,    Rank : + ∞ \qquad 0+20+16+1=37pts,\;\text{Rank}:+\infty 0+20+16+1=37pts,Rank:+ T1 \text{T1} T1 80 p t s 80pts 80pts 其实是可以微调过的,但是当时一度认为空间复杂度是 O ( n 2 ) O(n^2) O(n2) 的,就没继续调。考试时和 klz 的“加密通话”中,他说的算法指 Kruskal \text{Kruskal} Kruskal 重构树,以前学过,但是因为理解不够深所以不会。

考试总结

\qquad 因为题较难,就丧失了打部分分的信心,是失利的主要原因。题难导致心很慌,导致无法静心思考,所以发挥很烂。

\qquad 本场模拟赛还暴露出了一个很严重的问题:以前很多算法学的时候都是囫囵吞枣,没有深刻理解,导致运用不得不熟练。要好好复习一下以前学过的算法了。

题解

T1

T1
T1数据范围

\qquad 本题让求 [ l , r ] [l,r] [l,r] 中所有点连通的最小时间,相当于求 ∀ i ∈ [ l , r − 1 ] \forall i\in[l,r-1] i[l,r1] i i i i + 1 i+1 i+1 连通的时间的最小值。有了这个转化,我们的问题也就变成了求 i i i i + 1 i+1 i+1 连通的最小时间。这个问题显然可以用 Kruskal \text{Kruskal} Kruskal 重构树来解决,让 i i i i + 1 i+1 i+1 LCA \text{LCA} LCA 的点权代表 i i i i + 1 i+1 i+1 连通的最小时间,最后求一个区间最值即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值