SDUT_2012省赛热身赛1
http://acm.hdu.edu.cn/webcontest/contest_show.php?cid=2103
1001:給定n個(gè)牛的身高h(yuǎn)i,求用最少的牛累計(jì)達(dá)到>= b(書(shū)架的高度)。看完題給我的第一印象是01背包,可是20000*10000數(shù)據(jù)太大,果斷貪心從大到小排序即可,悲催的是循環(huán)里面的循環(huán)變量忘++了,這么低級(jí)錯(cuò)誤,讓老衲情何以堪啊!!丟人啊!!
1002:這道題糾結(jié)死人了,先求出總高度sum = a[0] + a[1] ....,然后對(duì)剩余的高度sum - b進(jìn)行01背包,求差即可。如果數(shù)組開(kāi)到極限果斷就會(huì)mle。。。氣死我了,我稍微份放小了一下竟然會(huì)A了,唉。賽后問(wèn)了問(wèn)他們,其實(shí)dfs所有可能出現(xiàn)的結(jié)果找差值最小就好了。每個(gè)物品就有兩種狀態(tài),放或者不放 ,帶回溯的dfs即可完成。
1003:坑爹的題意果斷讀了很長(zhǎng)時(shí)間,就是給定k張紙牌疊在一起,從Bessie右邊開(kāi)始發(fā)牌,只要發(fā)到第n個(gè)就給Bessie,按逆時(shí)針進(jìn)行。每發(fā)一張牌就把他后邊的p張移到最下邊,有k/n張good牌,其余為壞牌,Bessie想得到所有的好牌,給出他應(yīng)該怎樣放置這些牌,才能使自己得到所有的好牌。按從小到大輸出。直接模擬就可譯了!!
1004:注意每次訪問(wèn)的都是離0點(diǎn)最近的且未被訪問(wèn)過(guò)的點(diǎn)!!按絕對(duì)值從小到達(dá)排序,貪心選擇即可。
1005:直接模擬做就行。
1006:才開(kāi)始沒(méi)敢用搜索寫(xiě),就是寫(xiě)了個(gè)dp結(jié)果WA這弄得我叫個(gè)郁悶啊!后來(lái)寫(xiě)了寫(xiě)DFS注意不該帶回溯的時(shí)候不要帶,思路還是不夠明確,弄得我調(diào)了很成時(shí)間。還有注意ans 初值要置為0,因?yàn)闆](méi)有河溝時(shí),要輸出0的。
總結(jié)
以上是生活随笔為你收集整理的SDUT_2012省赛热身赛1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Why can’t the Unity
- 下一篇: 自由职业者在合作之前要弄懂的15个问题