专栏文章
题解:CF2097B Baggage Claim
CF2097B题解参与者 4已保存评论 4
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mipgrfj6
- 此快照首次捕获于
- 2025/12/03 11:45 3 个月前
- 此快照最后确认于
- 2025/12/03 11:45 3 个月前
某梦姓机构在模拟赛中出过几乎一模一样的,怎么现在还是不会做呢?
首先如果存在相邻两个点()的曼哈顿距离不是 ,直接输出 结束了。然后我们考察这两个点中间的点是啥。
-
如果这两个点的横坐标相同或纵坐标相同,那么中间这个点是唯一确定的。
-
否则,这两个点一定横纵坐标都相差 。那么中间这个点是有两种情况的。

我们给所有可能成为中间的点编号(就是离散化)。得到两个数组 ,表示 这两个点中间的点编号一定是 或 。当然如果是左图的情况则 。
现在问题变成了,对于每个 ,选择 中的恰好一个数,使得选出的 个数互不相同,求方案数。这样的答案再除以 的第一种情况数次幂就是真正答案。
这个咋做呢?
既然是两个点,我们考虑建无向图 。那么怎么体现两个点只能选一个,且这个点在全局只能选一次呢?
考虑转化成一个给无向图的边定向的问题。具体的,如果我们给这条边定向为 ,则表示这个位置选 。同理,如果是 ,表示这个位置选 。那么一个点至多被选一次,等价于一个点的入度 。
我们考虑对图中每个连痛块单独计数。最后乘起来即可。
我们考虑这个连通块中的点数 和边数 。注意可能有自环。显然因为联通所以 。
- ,是一颗树。显然一定存在一个点的入度为 。枚举这个点,发现剩下的边的方向都确定了。所以答案为 。
- ,基环树。中间的环有两种定向方案,除非中间是个自环(此时是 )。剩下的边的方向也确定了。所以答案为 或 。
- :注意到所有点的入度和为 。根据鸽巢原理,一定有一个点的入度 。答案为 。
那你不就做完了。
相关推荐
评论
共 4 条评论,欢迎与作者交流。
正在加载评论...