題意:
題解:根據題意,很容易寫出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函式的乙個性質 我們就從這個式子下手 具體的 好像有兩種實...