250pt
給一個(gè)長(zhǎng)度不超過(guò)50的01串S,問(wèn)最少可以分割成多少個(gè)由5的冪組成的二進(jìn)制數(shù)。
算法分析:
高精預(yù)處理出5的冪的二進(jìn)制數(shù)就是個(gè)沙茶動(dòng)態(tài)規(guī)劃了...
500pt
有一個(gè)n*m的01矩陣,支持兩種操作,操作1是選擇1行將其所有的0變成1,1變成0。操作2是選擇1列。
現(xiàn)在整個(gè)矩陣都是0,問(wèn)恰好進(jìn)行R次操作1和C次操作2以后,恰好有S個(gè)1的不同操作有多少種。
不同操作與順序無(wú)關(guān)。至于某行/列的操作次數(shù)有關(guān)。
算法分析:
我們先要計(jì)算出“有效操作”有多少。因?yàn)閷?duì)一行操作兩次和沒(méi)操作沒(méi)有區(qū)別...
設(shè)有效操作1的次數(shù)是r,有效操作2的次數(shù)是c,那么一定有r*m+c*n-2*r*c == s
r和c通過(guò)枚舉求得,對(duì)哪些行/列進(jìn)行有效操作可以通過(guò)組合數(shù)來(lái)求...
無(wú)效操作相當(dāng)于將b個(gè)無(wú)差別的球放到a個(gè)有差別的格子里,有
f(a,b) = f(a-1,0) + ... + f(a-1,b)
預(yù)處理出來(lái)就可以了...
明天放代碼,pratice room 開(kāi)不了題了...
posted on 2012-10-02 23:42
西月弦 閱讀(278)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
解題報(bào)告