csu1646 HearthStone
生活随笔
收集整理的這篇文章主要介紹了
csu1646 HearthStone
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
好久沒有寫dp,這題算很基礎.
dp首先定義狀態:dp[i][j][k]:當進行到第i輪,達拉然法師出場j個,刺骨使用k次情況下的最大傷害。
仔細考慮,還有每輪的費用,法師,刺骨使用幾張的情況這些并不需要定義成狀態。開始我想復雜,把這些也定義成狀態,結果狀態轉移方程反而不好寫。這里就要思考一個變換過程中并不是要把每一個變換都設置為狀態的一個變量,只要拍你定義的狀態容易寫出狀態轉移方程,并能正確求解這個過程就是好的dp解法。
定義好了狀態:就是考慮每輪在費用一定的情況下,你可以選擇 只有添加法師和刺骨數量的不同。這樣狀態轉移方程就可以慢慢推。注意一個條件在某一輪內,若在使用刺骨之前使用過至少一張卡,則可額外造成2點傷害,分情況轉移一下!
總結
以上是生活随笔為你收集整理的csu1646 HearthStone的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中通过输入身份证号获取出生日期
- 下一篇: 计算机教育部第四次学科评估结果,超级重磅