windy 有 n
'>n
n 條木板需要被粉刷。 每條木板被分為 m
'>m
m 個格仔。 每個格仔要被刷成紅色或藍色。 windy 每次粉刷,只能選擇一條木板上一段連續的格仔,然後塗上一種顏色。 每個格仔最多只能被粉刷一次。 如果 windy 只能粉刷 t
'>t
t 次,他最多能正確粉刷多少格仔? 乙個格仔如果未被粉刷或者被粉刷錯顏色,就算錯誤粉刷。
dp解析
對於每一條木板,定義 f(i
,j)'>f(i,j)
f(i,j) 為前 i
'>i
i 個格仔粉刷 j
'>j
j 次的最大正確粉刷數目(即價值)。
易得 f(i
,j)=
max}
'>f(i,j)=max}
f(i,j)=max} 。
其中 sum
(i,j
)'>sum(i,j)
sum(i,j) 定義為在第 i
'>i
i 至第 j
'>j
j 個格仔中顏色為藍色的數目。用字首和實現。
對於所有木板,定義 g(i
,j)'>g(i,j)
g(i,j) 為前 i
'>i
i 條木板粉刷 j
'>j
j 次的最大正確粉刷數目。
同理可得 g(i
,j)=
max}
'>g(i,j)=max}
g(i,j)=max} 。
答案為 maxi=
1,2,
…,t'>maxi=1,2,…,t
maxi=1,2,…,t 。
NOIP2013模擬 粉刷匠
給出n個球,其中有c1個球是顏色1的,有c2個球是顏色2的,有c3個球是顏色3的 有ck個球是顏色k的。求相鄰兩個球顏色不同的排列方案。k 15,ci 6,資料組數 2000 這種題一般很難有直接的通式,可以考慮dp。設fi,j表示,前i中顏色已經放完了,其中產生了j個不合法的空的方案數。這裡的空指...
資訊學競賽
以資訊學,尤其是程式設計的相關知識為基礎的中 小學學科競賽。分為noi 全國青少年資訊學奧林匹克競賽 noip 全國青少年資訊學奧林匹克聯賽 分割槽聯賽 ioi 出國參加國際奧林匹克競賽 等等 推薦語言為 pascal lazarus 0.9.10或free pascal編譯器2.0.1版 c c ...
從NOIP到IOI ,資訊學競賽之路
2019年noip全套教程 一 從noip到ioi 資訊學奧林匹克競賽和奧數一樣,是中學階段最重要的 數學,物理,資訊學 計算機 化學,生物 五大學科競賽之一,是五大競賽中唯一乙個可以在小學和初中階段就可參與的學科競賽。是教育部和中國科協委託中國計算機學會舉辦的一項全國青少年計算機程式設計競賽。資訊...