摘要: 题目意思是给一个原点坐标,然后再给n个点坐标,每个点有一块砖头,要求把这n个砖头搬到原点。每次最多搬两块,并且走一条路用的时间为坐标距离的平方。求最短时间。n<=20而且要输出方案,多种方案的话按最小字典序输出。。。解:如果不需要输出方案的话,那这题就很容易 了。。。f[i]表示到达i状态的最小时间。一个没有搬的砖头j,f[i|(1<<j)] = min{f[i] + 2*dis(a[j], O)};再枚举一个没有到达的状态k,f[i|(1<<j)|(1<<k)] = min{f[i] + dis(a[j], O) + dis(a[j], a[k]) 阅读全文
posted @ 2012-08-27 20:08 AC_Von 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 这几天浑浑噩噩。。。昨天还被xianbin5拉着做zoj月赛 http://acm.zju.edu.cn/onlinejudge/showContestProblems.do?contestId=340。这切的体会到一个弱b的无奈...实力问题,不能怪状态。。。-_-! A 开始看以为是水题。。。然后以为推推dp就过了。。。结果。。。推了一小时,什么都没推出来。。!后来才知道f[i]记录一下从i往右最靠右的数对的左端点。fuck! C 过题人数最多的题。。。当时根本没看。今天上午做了做。。。。然后浑浑噩噩。。。。然后弱b的连数状数组都不敢写了。。。数状数组+二分。。。 I 纯模拟+并... 阅读全文
posted @ 2012-08-27 17:04 AC_Von 阅读(313) 评论(2) 推荐(0) 编辑