這個題好坑啊,首先是他會卡空間,然後我們就只能把一種比較好理解的狀態給捨棄,因為空間開不下,然而採用一種難理解的狀態就是\(dp[i][j][l][0/1]\)表示\(i\),\(j\)位置,兩者的差為\(l\),當前由誰來吸收的方案數。
然後我們就可以推出狀態轉移方程,此狀態轉移方程很好寫,主要就是狀態非常難想,因此我們如果狀態轉移方程想不出來的話,就需要考慮換個狀態。並且我們因為需要保證陣列下標為正,所以差值為正的時候,因為我們需要\(mod~k\)因此就可以根據負數取模的性質,加上k就好了,還要注意一開始k++,也是乙個坑點
dp[i][j][l][0] = ((long long) dp[i - 1][j][(l - data[i][j] + k) % k][1] + dp[i][j][l][0] ) % mod;//此時該小a取了,所以
dp[i][j][l][1] = ((long long) dp[i - 1][j][(l + data[i][j]) % k][0] + dp[i][j][l][1] ) % mod;//此時該uim取了,所以差值變小,因此l相比於l+data[i][j]來說的話,是小的。
dp[i][j][l][0] = ((long long) dp[i][j - 1][(l - data[i][j] + k) % k][1] + dp[i][j][l][0] ) % mod;
dp[i][j][l][1] = ((long long) dp[i][j - 1][(l + data[i][j]) % k][0] + dp[i][j][l][1] ) % mod;
洛谷 P1373 小a和uim之大逃離
小a和uim來到雨林中探險。突然一陣北風吹來,一片烏雲從北部天邊急湧過來,還伴著一道道閃電,一陣陣雷聲。剎那間,狂風大作,烏雲布滿了天空,緊接著豆大的雨點從天空中打落下來,只見前方出現了乙個披頭散髮 青面獠牙的怪物,低沉著聲音說 呵呵,既然你們來到這,只能活下來乙個!小a和他的小夥伴都驚呆了!瞬間,...
洛谷P1373 小a和uim之大逃離
我好弱啊,根本做不出啊 我開始懷疑我學了動規沒.首先瓶子容量要 然後小a和uim是一起走的,只是輪流吸魔液而已。開乙個陣列f i j k p 表示在 i,j 格仔處,二人魔液相差k,是第p個人吸。那麼uim吸魔液可以看成是小a扔掉一些魔液。bob表示瓶子容量,得到狀態轉移方程 f i j k 0 f...
洛谷p1373 小a和uim之大逃離
題目大意 小a和uim在乙個n m的矩陣內,矩陣的每乙個格仔有魔液,小a和uim各有乙個魔瓶,只能向下或者向右走,逃離的要求是 最後一步由uim走到且小a和uim魔瓶內的魔液等量。魔液量要 k 1 題意 可以從任何一點開始,問有多少種逃離方法。先從重疊子問題開始思考狀態,對於每乙個格仔i,j,可以是...