【题解】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。

posted @ 2026-04-28 22:46  TallBanana  阅读(2)  评论(0)    收藏  举报