Loading

12.4 CW 模拟赛 赛时记录

看题

\(\rm{T1}\)

需要好好想, 应该不是水

\(\rm{T2}\)

需要思考, 有点像边更新最优解这一类

\(\rm{T3}\)

转换一下好像是一个二分图???

然而并不是, 但是也没时间想了

\(\rm{T4}\)

做一做, 有机会骗之类的


不是说简单题吗?

时间分配 : \(40 \rm{min} + 20 \rm{min} + 40 \rm{min} + 20 \rm{min} + 30 \rm{min} + 30 \rm{min} + =20 \rm{min}\)

\(\rm{T1}\)

不死磕, 不畏难

现在我们只需要想题了, 题意没什么需要转换的

多半需要猜性质, 玩下样例

一个很强的性质是每个点必须且仅能选 \(1\) 次作为左端点或者右端点, 考虑从这里下手, 直接令其为左端点 \(1\) , 右端点 \(-1\) , 即可求前缀奇偶性是否满足序列要求, 特殊处理一下即可

对于一种可行的操作序列, 我们将序列调换之后仍然可行, 问题转化为求序列的种类数

那么直接 \(\rm{dfs}\) 可以拿到 \(40 \%\)

只能拿到这点了, \(\rm{sub}\) 推正解也是退不出来, 连 \(70 \%\) 都弄不出

\(\rm{made}\) , 打代码的时候想到了 \(70 \%\) , 但是没时间写了, 好像顺着推下去就有正解, 只需要记忆化一下即可

\(\rm{made}\) , 这个算法好像还是错的, 没分

\(\rm{T2}\)

对于 \(50 \%\) 的数据点, 直接输出 \(-1\) 即可

\(20 \%\) 直接预处理即可

注意到一个很强的性质, 即

保证在此之前在城市 \(x\)\(y\) 之间不存在任何路径

也就是说每次连边都是加入割边, 最终的图一定是一个森林

并查集处理, 同连通块之间相当于一颗树, 把最终的树建出来之后, 离线的去处理询问即可, 具体的, 对于最终的树和询问时的树, 只要他们在询问时已经联通, 那么最短路不会发生变化, 即 \(\rm{LCA}\) 不变

时间复杂度 \(\mathcal{O} (q + n \log n + q \log n)\)

至此, 可以解决本题

不是哥们 \(\rm{T2}\)\(\rm{T1}\) 简单多少????

框架

读入的时候边建树边判断 \(-1\) , 建完之后跑 \(\rm{LCA}\) 逐个处理

\(\rm{T3}\)

时间不够, 直接冲暴力

对于 \(30 \%\) , 我们可以发现, 直接枚举点集即可
剩下还有 \(10 \%\) 完全图一眼顶针, 直接输出 \(m - \lfloor \frac{n^2}{4} \rfloor\)

\(\rm{T4}\)

时间不够, 不写了

posted @ 2024-12-04 14:51  Yorg  阅读(15)  评论(0)    收藏  举报