勢函式演算法小記🐤

CharlieVinnie 發表於 2022-01-23
演算法

勢函式:對 $i=[1,n]$ 自定義 $f(i)$,使得每一步勢能變化期望 +1/-1,通過求初態與終態的勢能差求期望步數

注意:這裡的 $f(i)$ 是可以自擬的,即只要滿足每一步勢能變化期望為 +1/-1 即可!

所以說,這本質上是通過人類智慧定義這麼一個函式!

常見形式:$\sum\limits_{i=1}^{n}f(a_i)=1+\sum\limits_{i=1}^{n}(uf(a_i)+vf(a_i+1)+wf(a_i-1))$

此時就可以把外面的 $1$ 變成 $\sum\limits_{i=1}^{n}a_i$ 或者 $\sum\limits_{i=1}^{n}\frac{1}{n}$ 代到右邊去,然後拆掉 $\sum$,變成:

$f(a_i)=a_i+uf(a_i)+vf(a_i+1)+wf(a_i-1)$

然後遞推構造 $f(x)$ 即可!

注意只有 $f(0)$ 可以隨意地擬為 0(其他值可能也不一定行)$f(1)$ 則必須由 $f(0)$ 遞推一次出來!(可以假設 $f(-1)=0$ 之類的)

相關文章