首页 > SDUT_2012省赛热身赛1

SDUT_2012省赛热身赛1

http://acm.hdu.edu.cn/webcontest/contest_show.php?cid=2103

1001:给定n个牛的身高hi,求用最少的牛累计达到>= b(书架的高度)。看完题给我的第一印象是01背包,可是20000*10000数据太大,果断贪心从大到小排序即可,悲催的是循环里面的循环变量忘++了,这么低级错误,让老衲情何以堪啊!!丢人啊!!

1002:这道题纠结死人了,先求出总高度sum = a[0] + a[1] ....,然后对剩余的高度sum - b进行01背包,求差即可。如果数组开到极限果断就会mle。。。气死我了,我稍微份放小了一下竟然会A了,唉。赛后问了问他们,其实dfs所有可能出现的结果找差值最小就好了。每个物品就有两种状态,放或者不放 ,带回溯的dfs即可完成。

1003:坑爹的题意果断读了很长时间,就是给定k张纸牌叠在一起,从Bessie右边开始发牌,只要发到第n个就给Bessie,按逆时针进行。每发一张牌就把他后边的p张移到最下边,有k/n张good牌,其余为坏牌,Bessie想得到所有的好牌,给出他应该怎样放置这些牌,才能使自己得到所有的好牌。按从小到大输出。直接模拟就可译了!!

1004:注意每次访问的都是离0点最近的且未被访问过的点!!按绝对值从小到达排序,贪心选择即可。

1005:直接模拟做就行。

1006:才开始没敢用搜索写,就是写了个dp结果WA这弄得我叫个郁闷啊!后来写了写DFS注意不该带回溯的时候不要带,思路还是不够明确,弄得我调了很成时间。还有注意ans 初值要置为0,因为没有河沟时,要输出0的。

更多相关: