POJ 3688 博弈與揹包

2021-07-24 17:47:26 字數 613 閱讀 1510

#include #include using namespace std;

const int maxn = 1e5 + 10;

int inp[maxn], dp[maxn][2], n, m;

int main(int argc, char const *argv)

dp[inp[i]][1] = true;

} int ans = 0;

for (int i = 1; i <= m; i++)

if (dp[i][1] && !dp[i][0])

ans++;

printf("%d\n", ans);

} return 0;

}

如果石頭數可以被偶數張卡片組和而成,則有輸的可能 如果石頭數可以被奇數張卡片組和而成,則有贏的可能 必勝:石頭數隻由奇數張卡片組和而成 必敗:石頭數隻由偶數張卡片組合而成 平局:任意卡片組合都無法得到石頭數 裁判想讓先手必勝只需選擇根據卡片的組合先手必勝的石頭數 dp[i][1] = true表示石頭數為i的情況可以由奇數張卡片組成 dp[i][0] = true表示石頭數為i的情況可以由偶數張卡片組成 最後計算所有只由奇數張卡片組成的石頭數即可

POJ1276 多重揹包(01揹包 完全揹包)

多重揹包模板題,給定揹包容量 v 給定 n 種物品,每種物品的個數 n i 體積 v i 和重量 w i 已知,求揹包能裝下的物品的最大重量。對應本題就是,給定提款的金額cash,給定 n 種錢幣,每種錢幣的個數為 n i 面額 d i 已知,求能兌換的錢幣的最大值。本題中,體積和重量都等於面額。7...

POJ 多重揹包專題

poj 1014 dividing 這道題用揹包做有兩種解法,一種是拆分法,另一種是很神的o vn 的dp法。拆分法 include include include include include include include include include include include inc...

POJ 多重揹包專題

poj 1014 dividing 這道題用揹包做有兩種解法,一種是拆分法,另一種是很神的o vn 的dp法。拆分法 include include include include include include include include include include include inc...