牛客练习赛122 官方题解
A
按照题意模拟即可。
B
每个位置 提供一个形如
的限制,判断有无冲突即可。
C
为了方便讨论,不妨设 。
答案显然为
。
马只能沿着
这条路径一直跳下去,答案为
。
手膜得到答案为
,可以覆盖除了中心点以外的所有位置。
注意到我们可以覆盖整个
的点阵,借此可以向外任意扩展。此时答案为
。
D
将圆拆成序列,那么两条线段无交,当且仅当在序列上对应的区间包含或无交。
这显然是一个区间 dp 的形式。设 表示处理完区间
内的所有线段的最小代价,转移时枚举
为左端点的线段保留哪一条即可(也有可能不保留)。
时间复杂度 。
E
先考虑限制的充要转化,即 之间点对应虚树的叶节点个数。
充分性:每个叶节点向虚树根连边,虚树上的点两两可达。
必要性:由于叶节点没有后继,因此每个叶节点至少向外多连一条边。
考虑计算点对询问的贡献。在树上做启发式合并,维护点 子树内的前驱后继
,那么点
可以贡献到的询问必须满足
。
离线之后 cdq 分治即可。时间复杂度 。
注意特判 。
F
本题的难点是联想到网络流。
考虑用网络流的方式刻画括号匹配。源点 向所有
(
连边,所有 )
向汇点 连边,从
到
依次连流量为
的边,有解当且仅当
的所有边满流。
在这个基础上对每个约束建点约束一下流量跑费用流即可。