51NOD 1636 教育改革 (DP 思維)

2021-08-28 19:48:24 字數 1029 閱讀 9001

題意:

題解:根據題意,很容易寫出dp【i】【j】表示第 i 天,作業量為 j 的最大的總作業量。但是 j 為1e16很大,空間**。所以需要想辦法,把每天的作業量表示出來。根據資料可知,每天的作業量的最大值最小值不超過100,根據這個條件。我們顯然能推出

dp【i】【j】【l】表示第 i 天選 第 j 門,且差值為l的最大的總作業量。那麼我們就可以用 j 和 l表示某天選擇 j 門課所獲等的作業量為 a【j】 + l 。

那麼就可以轉移了。

首先 第 i 天 一定是 又 i - 1 天轉移回來,只有兩種轉移方式。最大總作業量 減 k 或 除 k。還要保證 複雜度是嚴格遞增的,所以還需要先按照複雜度 排序。

所以我們需要依次列舉天數 i , 和第 i 天的選擇哪門課,還有這門課的差值l,還有 i - 1天的課程。

**如下:

#includeusing namespace std;

long long dp[55][55][105];

struct nodeclass[55];

bool cmp(node a,node b)

int main()

sort(class+1,class+1+m,cmp);

memset(dp,0,sizeof(dp)); //初始化為 0

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

for(int i = 2 ; i <= n ; i ++)

if(pre2 >= class[x].a && pre2 <= class[x].b && now%k == 0 &&dp[i-1][x][pre2 - class[x].a] != 0) }}

}} }

long long ans = 0;

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

} if(ans)

else

}

51nod 1636 教育改革

1636 教育改革 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 最近a學校正在實施教育改革。乙個學年由n天組成。a學校有m門課程,每天學生必須學習一門課,一門課程必須在一天內學習完。在學習完第i門課程後,學生們會收到 xi 個家庭作業,其...

51 Nod 1636 教育改革 dp

1636 教育改革 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 最近a學校正在實施教育改革。乙個學年由n天組成。a學校有m門課程,每天學生必須學習一門課,一門課程必須在一天內學習完。在學習完第i門課程後,學生們會收到 xi 個家庭作業,其中 xi是區間 ai,...

51NOD 1239 尤拉函式之和(杜教篩)

題目鏈結 分析 這道題看的是唐老師的blog 感覺還是一知半解,然而學校裡的dalao都去長沙了 只留下我們這些蒟蒻 然而蒟蒻沒有dalao的點撥怎麼學習啊。用了將近一小時,終於理解了,嘗試著來化簡一下 我們要求的是 在化簡之前,先提出phi函式的乙個性質 我們就從這個式子下手 具體的 好像有兩種實...