首先对于复杂度除了 hack 数据的说明,是因为每一次递归都有 x−1x-1x−1 或 y−1y-1y−1 ,发现最多会减 2n2n2n 次,对于穿越一二行两行的矩形,那么状态就是 x=yx=yx=y 的方案数,也就是 nnn 个,发现好像只有 hack 数据下 x,yx,yx,y 会先走到 000 这个时候预处理出另一行的答案直接返回即可,原题解无法应对 hack 数据的原因也是如此,此时如果这样做那么复杂度理论上就是正确的 O(nlogn)O(n\log n)O(nlogn) ?