摘要:
Link Solution 状态 \(dp_i\) 表示把前 \(i\) 个数可以划分成的最小段数。那么对于转移,就可以枚举一个 \(j\) 表示将 \((j,i]\) 划成一段,那么就有 \(dp_{i}=\min\{dp_j\}+1\). 这道题的关键在于如何维护出 \(j\) 的取值范围。首先 阅读全文
摘要:
Link Solution 有一个非常显然的性质,一个洞最终容纳的一定是一段横坐标连续的老鼠。就是说不可能出现交叉的请况。数学证明也是非常的容易,懒得写了。 那么就预先将老鼠和洞分别按横坐标排序。这样之后,容易想到 dp 状态 \(dp[i][j]\) 表示用前 \(i\) 个洞容纳前 \(j\) 阅读全文
摘要:
Link Solution 和弹飞绵羊有点像,所以想这题可能和分块有什么关系。于是想到按值域来分块。 当 \(k\) 比较大的时候,容易发现跳的次数就非常少,以至于暴力跳都能过。于是当 \(k > \sqrt{n}\) 的时候,不妨就直接暴力地跳。复杂度 \(O(n\sqrt{n})\) 当 \(k 阅读全文