请求管理远古题解
查看原帖
请求管理远古题解
84132
昒昕楼主2022/7/1 16:39

如题。请求管理本题有关 DP 的题解。

  • 本题是 NOIP 题,而且是四维 DP 经典题。

  • 远古题解很多都没说清状态转移是怎么来的,如第一篇题解一句话带过且代码无注释,第二篇题解只给了个公式。

  • LaTeX\LaTeX 问题。

  • 大多数题解都没说明 DP 的无后效性。

实际上如果从无后效性的角度出发,设 f[step][a][b][x][y]f[step][a][b][x][y] 为 「两个人各走 stepstep 步,第一个人走到 (a,b)(a,b),第二个人走到 (x,y)(x,y),能获取的最大价值」。方程为:f[step][a][b][x][y]=benefit+max{f[step1][a1][b][x1][y]+...}f[step][a][b][x][y]=benefit+\max\left\{f[step-1][a-1][b][x-1][y]+...\right\}

该转移方程符合 DP 的无后效性,且「每人各走一步」的正确性显然,且能保证每个数只取一次(这里不过多阐述)。但可用滚动数组滚掉 stepstep,于是得第二篇题解中的转移方程。

许多题解没讲清楚,容易误导初学者,也没有让初学者注意“无后效性”。

我不信一个刚学采药的初学者能在题解没讲明的情况下懂这些,我觉得初学者会“看题解只有两三行话和一个状态转移,就把它写进代码了”。

综上。

2022/7/1 16:39
加载中...