五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

CF競賽題目講解_CF478D(DP+滾動數(shù)組)

2022-08-20 10:54 作者:Clayton_Zhou  | 我要投稿

https://codeforces.com/problemset/problem/478/D

題意:

給定r個紅塊,g個綠塊,排列要求:1.第i行放i塊;? ? ?2.每行同色?

問當堆放成最大高度時,有多少種可能的堆放方式?


思路:

首先確定能夠放置幾行

設紅塊有r個,綠塊有g(shù)個,那么放置h行需要(h+1)h/2個

那么r+g>=(h+1)h/2 => 2(r+g)>=(h+1)h => 2(r+g)>h*h

那么有 h=sqrt(2r+2g),然后再找符合條件的h?


狀態(tài):dp[i][j]表示前i行用了j個紅塊的排列方案個數(shù)

轉(zhuǎn)移方程:外層循環(huán)枚舉i表示第i層,內(nèi)層循環(huán)枚舉j表示紅塊使用數(shù)?


1. 如果 i<=j,? ? dp[i][j]=dp[i-1][j]+dp[i-1][j-i],即第i層不用紅塊和全部用紅塊的兩種決策?

2. 如果 i>j, dp[i][j]=dp[i-1][j], 即第i層只能用綠塊


決策合法性:

前i層紅塊至少用max(i(i+1)/2-g,0)個?

初始狀態(tài),dp=0,

如果r>0,dp[1][1]=1;

如果g>0,dp[1][0]=1?

用滾動數(shù)組優(yōu)化?


CF競賽題目講解_CF478D(DP+滾動數(shù)組)的評論 (共 條)

分享到微博請遵守國家法律
紫金县| 静乐县| 峡江县| 科技| 玉山县| 大冶市| 墨玉县| 冕宁县| 唐山市| 南投市| 黑河市| 巴塘县| 西畴县| 界首市| 任丘市| 红河县| 抚宁县| 若尔盖县| 宕昌县| 平舆县| 革吉县| 吐鲁番市| 吴江市| 灵武市| 梧州市| 白山市| 亚东县| 九龙坡区| 郴州市| 贡山| 本溪市| 墨脱县| 延寿县| 江陵县| 临桂县| 海盐县| 扎囊县| 遂川县| 大足县| 资溪县| 仙游县|