【题解】P8984 [北大集训 2021] 末日魔法少女计划
https://www.luogu.com.cn/problem/P8984
把题意变成人话。
构造一个 DAG,满足:
- 只存在 \(u<v\) 的 \(u\to v\) 边。
- 对于所有 \(i\) 都存在 \(i\to i+1\) 的边。
- 对于所有边 \((u,v)\),要么 \(u+1=v\),要么存在 \(u\to t\to v\)。
- 任意点对在走不超过 \(k\) 条边后可达。
每个 \(k\) 对边数都有一定限制。
\(k=2\) 考虑猫树分治,左侧每个点都要向 mid 连边,mid 要向右侧每个点连边。
考虑 \(k\) 更大的情况,分治的时候应该是每层要分为若干段。
如果一个段是中间的段那么前后缀都要建边,第一段只用建后缀边,最后一段只用建前缀边。
然后大概思考一下,中间的段应该是相同长度的,而两侧的段也是相同长度的,可以设计 dp 处理。
具体可以看 tj。
浙公网安备 33010602011771号