2009年12月26日

POJ-1804 Brainman

摘要: 1804和2299一样是求逆序数的,用二路归并排序求解。 阅读全文

posted @ 2009-12-26 17:16 John Waken 阅读(243) 评论(0) 推荐(0) 编辑

POJ-1007 DNA Sorting

摘要: 此题也是关于逆序数的,当然可以用归并排序的方法,但是我注意到服务器提供的数据量较小,最普通的方法应该都可以通过,所以就用了个逐个比较求逆序数的算法,然后再用直接插入排序把DNA按逆序数大小排列起来,最后输出。果真AC了,哈哈!源码如下:[代码] 阅读全文

posted @ 2009-12-26 17:01 John Waken 阅读(441) 评论(0) 推荐(0) 编辑

POJ-2299 Ultra-QuickSort

摘要: 题目实质是求一个序列的逆序数,用归并排序附带求出逆序数。具体算法就不说了,可以Google出很多。只是在POJ提交时要注意栈溢出:因为序列中最多有500000-1个数,所以我们要用数组int a[500001]来保存。但是千万小心,这个数组不能定义在main函数中,要搞成全局变量。可以参考某网友的解答: http://www.slyar.com/blog/poj-2299-c.html 阅读全文

posted @ 2009-12-26 16:13 John Waken 阅读(442) 评论(0) 推荐(0) 编辑

POJ-1455 Crazy tea party

摘要: 解析: 为使题目保持简单,我们取个特例,5个人。从中任取一人给他赋一个标号1,然后从他沿逆时针方向一次给游戏者编号,这样我们就得到一个序列 (1) 1 2 3 4 5要使左边的人到右边去,右边的人到左边去,那么下面的序列肯定满足条件 (2) 5 4 3 2 1由序列(1)变为序列(2),做相邻交换的最少次数正好是(2)的逆序数。由于该序列是环形的,所以下面的序列肯定也符合条件 (3) 4 3 2 ... 阅读全文

posted @ 2009-12-26 13:53 John Waken 阅读(562) 评论(0) 推荐(0) 编辑

导航