鏈結
簡單dp+毒瘤高精
顯然行與行沒有關聯
所以只需要每行處理
考慮dp i,j,k 表示第i次取數,第j行,有k次取的頭的最大分數
直接dp即可
#includeusingnamespace
std;
#define ll __int128inline
intread()
while(ch<'
0'||ch>'9'
);
dowhile(ch>='
0'&&ch<='9'
);
return f*x;
} inline ll pow(ll a,ll b)
return
ans;
}int
n,m;
int a[100 + 10][100 + 10
];ll dp[
100 + 10][100 + 10][100 + 10
];ll ans=0
;inline
void
print(ll x)
intmain()
}for(int i=1;i<=m;i++)}}
for(int j=1;j<=n;j++)
//cout}
if(!ans)
else }
/*2 3
1 2 3
3 4 2
*/
NOIP2007 矩陣取數遊戲
傳送門給定乙個n m的矩陣,在每一行中取m次數,每次取數只能從行首或尾取數,第i次取數的貢獻是 2 i 該點值 操作n行,求最大答案 n,m 80 不難發現行與行之間是完全獨立的,所以單獨處理每一行就好了 考慮區間dp 設 dp i j 表示區間i j的答案最大值 則有 dp i j max num...
noip2007矩陣取數遊戲 2008 11 5
noip2007矩陣取數遊戲 2008.11.5 注意 比大小位數不相同時,取位數大的數大 當位數相同時,要從最高位開始比較,相同,則往下比,不相同,則大的數就大。我剛開始,弄成了從最低位開始比較,故,wa了 20多分鐘 小結 這道題,我打了不下 5遍,一定要先想好,在紙上把每個細節都確定了,並確定...
NOIP2007提高組 矩陣取數遊戲
本題dp 高精度即可。首先我們可以發現它的貢獻只與行有關係,於是就分成n行,每行都做dp,然後將max加起來即可。ps 用高精度實現 上標 include include include define mo 100000 define ll long long using namespace std...