考场想了 5.5 h,第一部分分死活打不出来,做到崩盘,现在重做,感觉自己就是一个sb,放学在地铁上一眼就会了.哎. 可以把一个要求看作一个长度为 \(m\) 的区间:\([l, l + m - 1]\),可以要求这段条件的充要条件是找到一种循环移位,每个墙恰好可以被那个工人挖.然后问题是用最少的区间覆盖完 \([0, n - 1]\). 可以设一个 DP: $f_i $:刷完前 \(i\) 个墙的最小要求次数. 如果 \([i - m + 1, i]\) 可以刷,那么 \(f_i = \min…