DP 數字遊戲(jzoj 2131)

2021-09-25 05:28:51 字數 654 閱讀 2697

有n個數,每個數有相應的a

ia_i

ai​和b

ib_i

bi​,當選了乙個數後結果加上a

ia_i

ai​,其他數分別減去他們自己的a

ja_j

aj​,現在讓你選m個數,結果最大是多少

3

310 20 30

4 5 6

47
1⩽m

⩽n

⩽2000

1\leqslant m\leqslant n\leqslant 2000

1⩽m⩽n⩽

2000

先按b從大到小排個序,然後就實現了儘量減少每個數字減去的數,然後直接dp即可

#include

#include

#include

#include

using

namespace std;

int n,m,f[

2500][

2500];

struct rec

a[2500];

bool

cmp(rec x,rec y)

intmain()

JZOJ 數字遊戲 DP

小w發明了乙個遊戲,他在黑板上寫出了一行數字a1,a2,a3,an,然後給你m個回合的機會,每回合你可以從中選擇乙個數字擦去它,接著剩下來的每個數字ai都要遞減乙個值bi,即a1減掉b1,a2減掉b2,如此重複m個回合,所有你擦去的數字之和就是你所得的分數。小w和他的好朋友小y玩了這個遊戲,可是他發...

2131 數字遊戲

小w發明了乙個遊戲,他在黑板上寫出了一行數字a1,a2,a3,an,然後給你m個回合的機會,每回合你可以從中選擇乙個數字擦去它,接著剩下來的每個數字ai都要遞減乙個值bi,即a1減掉b1,a2減掉b2,如此重複m個回合,所有你擦去的數字之和就是你所得的分數。小w和他的好朋友小y玩了這個遊戲,可是他發...

jzoj數字遊戲 貪心 DP

description 一行數字a1,a2,a3,an,有m個回合,每個回合必須從中選擇乙個數字擦去它,接著每個回合後剩下來的每個數字ai都要遞減乙個相應的值bi。如此重複m個回合,所有你擦去的數字之和就是你所得的分數。給出n,m,a數列和b數列,求所得的最多的分數。input 輸入檔案的第一行是乙...