作者:手机用户2602927807 | 来源:互联网 | 2023-10-11 15:06
令 \(dp[i][x]\) 表示 \(j(j=i)\)是到\(i\)唯一途径,且往后能覆盖到\(x\)\((x>=i)\)
即唯一通过\(j\)跳转到\(i\)节点,且\(j\)往后能跳转到至多\(i+x\)。
又由于路径具有唯一性,并且总是存在。我们总可以找到一个唯一节点跳转到当前节点。
转移方程就有:
\(dp[i][j+a[j]]=dp[j][i-1]+cnt\)即当前\(dp[i]\)能过往后至多被转移到\(j+a[j]\),且\(j\)和\(i-1\)之间,有\(cnt\)个能够达到\(i\)的节点需要被清除。并且\(dp[j][i-1]\)表达了到达\(j\)的唯一性。故该方程能表达达到\(i\)节点的唯一性。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include