vijos P1991 兩人抓牌

2021-07-14 18:34:58 字數 894 閱讀 4993

兩人抓牌

n張紙牌被擺為一排,甲先從左端或右端取走一張紙牌,再由乙從左端或右端取走一張紙牌,再由甲從左端或右端取走一張紙牌……輪流抓下去,可以把所有紙牌抓完。

根據規則,抓的點數多者為勝,若甲、乙都是極聰明的人(各自都站在自己的立場),求甲至少得到多少點數。

第1行共輸入1個正整數n(1<=n<=10000);

第2行共輸入n個整數(每個整數都》0且<=10000),分別代表第1張,第2張......第n張紙牌的點數。

輸出只包括乙個整數k(0

8

50 9 18 66 81 40 75 34

224

思路:dp[i][j]表示當前首先抓牌的人能抓到的最大點數。dp[i][j]=sum[j]-sum[i-1]-min(dp[i-1][j],dp[i][j-1]);

詳細見**:

#include#include#include#include#includeusing namespace std;

const int maxn = 2*1e5+100;

int dp[10010][10010];

int a[maxn];

int sum[maxn];

int main()

for(i=n;i>=1;i--)

for(j=i;j<=n;j++)

dp[i][j]=sum[j]-sum[i-1]-min(dp[i+1][j],dp[i][j-1]);

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

return 0;

}

兩人結對作業

1.題目簡介 設計一款掃雷遊戲,要求要有基本的踩雷死亡 周圍雷的數目提示 周圍無雷區自動掃除等功能。2.結對分工及設計 結對分工 劉旭負責介面的開發,王建斌負責遊戲邏輯的開發。設計 本遊戲精妙之處在於自動掃除無雷區的功能,用的是廣度優先的演算法。3.位址 4.測試情況 1.測試遊戲介面是否正常。測試...

兩人合作經過此

專案 貪心演算法的應用 馬踏棋盤 define n 8 voiddfs intx,inty,intcount for i 0 i 8 i 現代軟體產業經過幾十年的發展,乙個軟體由乙個人單槍匹馬完成已經很少見了,軟體都是在相互合作中完成的。合作的最小單位是兩個人,兩個工程師在一起,做得最多的事就是看 ...

益智 兩人過橋問題

有a b c d四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1 2 5 10分鐘,只有一支手電,並且同時最多只能兩個人一起過橋。請問,如何安排,能夠在17分鐘內這四個人都過橋?題目解析 四個人a 1分鐘 b 2分鐘 c 5分鐘 d 10分鐘 本題最大的坑點是利用人的常理化思維 一般會讓花費時...