1 条题解
-
0
「BJOI2017」机动训练 题解
问题转化 设地形序列 在所有机动路径中出现 次,则:
每条地形序列为 的路径权重为
所有权重和 =
这等价于统计地形序列相同的机动路径对的数量。
机动路径性质 “不远离终点” ⇒ 路径在 和 方向单调。 设终点相对于起点的方向为 ,其中 且 ,则:
每步移动 满足
因此路径单调且不自交
方向分类 共有 8 种 组合,对应 8 个单调方向。 利用对称性,可归为 4 类:
水平/垂直():4 个方向
对角线():4 个方向
核心算法:双路径 DP 对每对方向 (含同类和相反类),计算匹配路径对数。
定义 :第一条路径在 (沿 ),第二条在 (沿 ),且从起点到当前位置地形序列相同的方案数。
转移:对每个允许的移动 (对 )和 (对 ):
text 若 grid[x1+p1][y1+q1] = grid[x2+p2][y2+q2] 则 f[nx1][ny1][nx2][ny2] += f[x1][y1][x2][y2] 初始:,若两起点字符相同。
答案累计:当路径长度 ≥ 2(即已走步数 ≥ 1)时,累加到总答案。
时间复杂度 ,其中 (方向对常数), 时可过。
最终答案 对所有方向对的结果乘对称系数求和,模 。
- 1
信息
- ID
- 5964
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者