posts - 274,  comments - 1258,  trackbacks - 0
今天是一个开心的日子,不禁因为全新的博客编辑器CuteEditor令人倍感清爽,还因为我第一次用随机算法做的题,竟然一次AC~~这条题的通过率只有:149/1237»12.0% 哦~
  这道题便是北大ACM上最近这次月赛的Washing Clothes啦,题目大意是两公婆一齐洗一堆衣服(件数n<100),每件衣服需要洗的时间是不同的,一件衣服只能由一个人来洗,一个人在只能洗完一件衣服后才能洗另外一件衣服,问他俩最少要用多长时间才能把衣服洗完。
  这道题一看便知道是NP难的题目——经典的0-1背包问题的变种,由于规模高达100,用常规的确定型解法(搜索、动规等)复杂度高达2100。因此我决定构造一个随机算法。

  我的算法大致如下:
 1先求出洗完所有衣服的总时间sum及其一半target;
 2先假设所有衣服都是老公洗的,即husbandsum=sum,wifesum=0;
 3循环括号中步骤T次:(本题我设T为10000)
 4{
 5若老公洗的衣服所花时间比老婆长,老婆随机地从老公那里拿一件衣服来洗;
 6若老婆洗的衣服所花时间比老公长,老公随机地从老婆那里拿一件衣服来洗;
 7若老公洗的衣服所花时间刚好为target,则直接跳出循环;
 8}

 9在循环中记录最接近target的那次老公所用的时间mi;
10于是洗衣服的总时间则为max(mi,sum-mi)
  执行如此恩爱的随机算法后,你就可以得到你想要的AC了~~
附,程序源代码:
程序源代码

注:我做那题时题目并没有说明洗每件衣服的时间上限。
posted on 2007-04-02 12:20 踏雪赤兔 阅读(1643) 评论(12)  编辑 收藏 引用 所属分类: 玩转编程

FeedBack:
# re: 算法·处女随机题:一次AC!
2007-04-02 12:31 | Haibara Li
哈~~gxgx~~
不过那题数据比较弱,建议挑战ZOJ的2282 ;)  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-02 13:02 | zhouditty
多谢晓鸣,迷茫左好耐啊呢题  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-02 13:06 | AC
gxgx~~~

但这题数据确实弱,我直接从target递减枚举出来的。。。  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-03 22:46 | 法兰西亚
高手!有前途!  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-04 17:03 | 561
专业得好恐怖。。。。。。。。。。。。
我是过来支持你的啦!!!!哈哈~  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-06 01:55 | John
这样都给你想到哦.牛b啊~佩服佩服!  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-06 02:41 | keily
鸡仔就是牛!顶礼膜拜~~~  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-06 16:22 | John
测试数据真的很错哦.我把T减掉一个0都AC了~郁闷   回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-22 02:20 | Pirate
言重了,硬来其实不用2^100
才o(m*len*n)
耗时 0ms 耗空间 76K  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-04-22 17:46 | 踏雪赤兔
我做那题时题目没有说明洗每件衣服的最大时间的,假如len<=10000000, 怎么DP?  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-09-24 17:59 | 张旭东
老大,分析不对头呀。。。。

这题用一般的DP就可以的。。。
呵呵  回复  更多评论
  
# re: 算法·处女随机题:一次AC!
2007-09-24 18:00 | 张旭东
[quote]
我做那题时题目没有说明洗每件衣服的最大时间的,假如len<=10000000, 怎么DP?
[/quote]

滚动DP,听说过吗?  回复  更多评论
  
只有注册用户登录后才能发表评论。

百度空间| 见闻日记| 编程感悟
我的twitter


LOGO

自我介绍:百度厂基础平台车间的一名挨踢民工。擅长C++、算法、语言设计、分布式计算,也用过Java,Python, PHP,JS/AS等语言开发。请关注我的twitter (免翻墙版) 发QQ消息


添加到收藏夹 Locations of visitors to this page

常用链接

随笔分类(300)

随笔档案(274)

文章分类(38)

相册

收藏夹(54)

与博主互动

博客手拉手

搜索

  •  

积分与排名

  • 积分 - 399237
  • 排名 - 10

最新评论

阅读排行榜

评论排行榜