牛客練習賽21 B 黑妹的遊戲II

2021-08-21 03:36:39 字數 672 閱讀 9521

有乙個n*m的棋盤,每格仔有非負分數,黑妹先手,每次只能下上乙個人選擇的方格的右方或者下方,黑妹和黑弟都在知道最優策略的情況下,從左上角開始到右下角結束,求黑妹最後獲得的分數減去黑弟的分數差是多少。

我們由黑妹先手可得,黑妹一定可以獲得左上角和右下角的分數,我們採用逆向dp的思路。 dp

[i][

j]=m

in(d

p[i]

[j],

−dp[

i][j

]+a[

i][j

])d p[

i][j

]=mi

n(dp

[i][

j],−

dp[i

][j]

+a[i

][j]

)

#include 

using

namespace

std;

const

int inf = 0x3f3f3f3f;

const

int n = 505;

int a[n][n];

int dp[n][n];

int main() }}

printf("%d\n", dp[1][1]);

}return

0;}

牛客練習賽21 B 黑妹的遊戲II(博弈DP)

黑妹和黑弟又聚在一起玩遊戲了,這次他們選擇在乙個n m的棋盤上玩遊戲,棋盤上的每個方格都有乙個非負的分數,遊戲從左上角開始右下角結束,雙方交替的選擇乙個方格並獲得方格上相應的分數,一方選擇的方格必須在上一步另一方選擇的方格 的右邊或者下面,黑妹先開始。現在黑妹想知道,如果雙方都採取最優策略 最優策略...

牛客練習賽21 黑妹的遊戲 記憶化搜尋

傳送門 非常典型的記憶化搜尋博弈 定義f i j f i j f i j 為從 i,j i,j i,j 開始造成的差值大小 先手 後手 那麼先手希望這個值大,後手希望小 就在各自的回合取max maxma x或取min minmi n即可 include using namespace std in...

牛客練習賽4 B

思維題,把 i2 j2 ai2 aj2 絕對值符號去掉後,我們設i2 j2 ai2 aj2 j2 i2 aj2 ai2 j2 aj2 i2 ai2 或者 i2 j2 ai2 aj2 j2 i2 aj2 ai2 ai2 i2 aj2 j2 原式化簡後只有這兩種形式,那麼我們可以設定兩個陣列a n b ...