【学习笔记】阶段测试 2
杂技演员(acrobat)
- 感谢 Rabbit_Mua 将题目搬运到了 oj 上
- 这个构造题还是比较套路吧
- 考虑欧拉回路的判定条件
- 把右部点全部连起来,这样保证最终图是联通的
- 考虑操作一,等价于改变两个点度数奇偶性
- 有点类似与增广路,最终一定是两个度数为奇数的点在路径两段
- 所以我们只需要让度为奇数的点两两配对,即把这条路径上的边取反(手玩一下 qwq
- 考虑在 n n n 次操作内做这件事
- 考虑构造树,将树中度为奇数的点两两配对,且路径不相交
- 下面给出一种构造
- 如果树上不合法点有奇数个,输出无解
- 否则设 s i z [ u ] siz[u] siz[u] 表示子树内不合法点的个数,
- 如果是偶数,就把它到父亲的边断掉
- 剩下的边恰好连接了 s i z [ r t ] 2 \frac{siz[rt]}{2} 2siz[rt] 个点对
- 具体实现可以考虑树 d p dp dp
- 注意细节,重边只保留一条,对于取反的边 ( u , v ) (u,v) (u,v) 要看原始图中是 A u → B v A_u\to B_v Au→Bv 还是 A v → B u A_v\to B_u Av→Bu ,用 m a p map map 记录即可 。
飞天鼠(flying)
- JOI 的题诶
但这题还挺水的 - 首先把不合法的边删了, u → v u\to v u→v 合法当且仅当 h u ≥ w h_u\ge w hu≥w
- X = 0 X=0 X=0 时直接跑最短路,答案是 2 d i s [ n ] + h [ n ] 2dis[n]+h[n] 2dis[n]+h[n]
- 结合暴力可以得到 50 p t s 50pts 50pts
- 从终点开始跑最短路,从起点开始跑最长路
- 然后暴力就完了
- 注意最长路的限制 d i s 2 [ u ] = min ( d i s 2 [ u ] , h [ u ] ) dis2[u]=\min(dis2[u],h[u]) dis2[u]=min(dis2[u],h[u])
__EOF__

本文作者:仰望星空的蚂蚁
本文链接:https://www.cnblogs.com/cqbzly/p/17530129.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/cqbzly/p/17530129.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2021-07-09 【题解】「abc171F」Strivore