
归并排序
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
poj2299 Ultra-QuickSort(逆序对)
题意给定一个长度为n的序列A,如果只允许进行比较和交换相邻两个数的操作,求至少需要多少次交换才能把A从小到大排序。题解归并排序求逆序对为什么要求逆序对呢?在一个有序的序列中逆序对的个数为0,逆序对就好像一个个反叛军,只要有一个存活,这个序列就会“不得安宁”。消灭所有逆序对就成了本题的关键。题目很给力,逐个消灭逆序对的方法就是通过把邻近的逆序对交换。所以,只要能求出A中逆序对的个数,本题就引刃而解了...原创 2018-07-11 12:48:19 · 347 阅读 · 0 评论 -
hihocoder1384 Genius ACM(倍增)
题目给定一个整数 m,对于任意一个整数集合 S,定义“校验值”如下:从集合 S 中取出 m 对数(即 2*M 个数,不能重复使用集合中的数,如果 S 中的整 数不够 m 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值 就称为集合 S 的“校验值”。现在给定一个长度为 n 的数列 A 以及一个整数 k。我们要把 A 分成若干段,使得 每一段的“校验值”都不超过 k。求最少需要分...原创 2018-07-14 17:05:37 · 590 阅读 · 0 评论