NOIP2007提高組 矩陣取數遊戲

2022-05-17 12:06:19 字數 1110 閱讀 6895

本題dp+高精度即可。

首先我們可以發現它的貢獻只與行有關係,於是就分成n行,每行都做dp,然後將max加起來即可。(ps:用高精度實現)

上標:

#include

#include

#include

#define mo 100000

#define ll long long

using namespace std;

int n,m,c[81]

[81];

struct gjd

ans,f[81]

[81],e[81]

,s,d;

inline

intread()

gjd cheng

(gjd a,

int b)

while

(x) a.a[

++a.top]

=x%mo,x/

=mo;

return a;

}gjd plus

(gjd a,gjd b)

while

(!d.a[d.top]

) d.top--

;return d;

}gjd ma

(gjd a,gjd b)

intmain()

for(

int j=m-

1;j>=

0;j--

)memset

(s.a,0,

sizeof

(s.a));

s.top=0;

for(

int j=

0;j<=m;j++

) s=

ma(s,f[j]

[j])

; ans=

plus

(ans,s);}

printf

("%d"

,ans.a[ans.top]);

for(

int i=ans.top-

1;i>

0;i--

)printf

("%05d"

,ans.a[i]);

return0;

}

NOIP2007提高組 矩陣取數遊戲

本題dp 高精度即可。首先我們可以發現它的貢獻只與行有關係,於是就分成n行,每行都做dp,然後將max加起來即可。ps 用高精度實現 上標 include include include define mo 100000 define ll long long using namespace std...

提高組NOIP2007 矩陣取數遊戲

題目描述 帥帥經常跟同學玩乙個矩陣取數遊戲 對於乙個給定的n m的矩陣,矩陣中的每個元素a i,j 均為非負整數。遊戲規則如下 每次取數時須從每行各取走乙個元素,共n個。m次後取完矩陣所有元素 每次取走的各個元素只能是該元素所在行的行首或行尾 每次取數都有乙個得分值,為每行取數的得分之和,每行取數的...

NOIp2007提高組 矩陣取數遊戲

oj題號 洛谷1005 思路 動態規劃。不難發現每行能夠取得的最大值僅與當前行的資料有關,因此本題可以對每行的資料分別dp,最後求和。設 f 表示左邊取 i 個 右邊取 j 個的最大值,則dp方程為 f max f a 2 f a 2 然而資料規模較大,使用 int 只有40分,用 unsigned...