2013年7月30日

POJ 2441 Arrange the Bulls 状态压缩递推简单题 (状态压缩DP)

摘要: 推荐网址,下面是别人的解题报告:http://www.cnblogs.com/chasetheexcellence/archive/2012/04/16/poj2441.html里面有状态压缩论文的链接,可以看看。该解题报告中用的是二维数组,但是很显然的是,递推式中的下一行只与上一行有关,类似于最长公共子序列,可以用滚动数组,在滚动数组后发现只用一个数组就可以了。至于是不是要和0-1背包一样得按从大到小的顺序,我没有,我的状态是从小到大的顺序,但是也AC了。如果不用滚动数组,会超内存。自己动手退一下,就能从滚动数组推到只用一个数组的情形。然后我就直接贴我的代码,注释就在代码中 1 #inclu 阅读全文

posted @ 2013-07-30 21:41 allh123 阅读(415) 评论(0) 推荐(0) 编辑

POJ 3253 Fence Repair STL 优先队列

摘要: 这题做完后觉得很水,主要的想法就是逆过程思考,原题是截断,可以想成是拼装,一共有n根木棍,最后要拼成一根完整的,每两根小的拼成一根大的,拼成后的木棍长度就是费用,要求费用最少。显然的是一共会拼接n-1次,如果把每根木棍最初的长度想成叶子节点,两个节点的父节点就是这两个节点的长度相加。那么求的就是这n-1个父节点的总和最少。为实现这个目标,我们使每个父节点的值尽可能的少,由此想到哈夫曼编码的原理。初始条件为一共n根木棍。然后从中选出最短的两根,将这两根拼接成一根,这样得到的父节点的值是最小的。然后将这根木棍放进原来的木棍中,重复该步骤(从木棍堆中选出最短的两根,拼接成一根,放回木棍堆中),进行了 阅读全文

posted @ 2013-07-30 19:05 allh123 阅读(231) 评论(0) 推荐(0) 编辑

导航