警示后人(关于状态转移)
查看原帖
警示后人(关于状态转移)
917775
_buzhidao_楼主2025/6/25 11:44

如果你使用 O(nm)O(nm) 完全背包,那么第 ii 列的状态转移步骤如下:

  • 先转移完小鸟从第 i1i-1 列上升过来时整列的最小操作步数;
  • 再转移小鸟从第 i1i-1 列下降过来时的最小操作步数;
  • 然后将会撞到管道的纵坐标舍去(赋为极大值)

原因:

  • 如果在转移上升的同时转移下降,会导致小鸟先下降再上升。
  • 如果在转移前舍去会撞到管道的坐标,会导致“上升一次撞到管道,而上升两次可行”的情况被舍弃。

此外,本题 O(nm2)O(nm^2) 算法可过。record

2025/6/25 11:44
加载中...