算法设计-分治法
LYoGa
这个作者很懒,什么都没留下…
展开
-
UVA11129
题意:给定一个大小为n的数组,要求输出数组中每个长度超过3的子序列不是等差数列的数组 思路:百度了分治算法,然后参考了别人的做法,也就是一个大的问题,分为n个子问题,只要所有子问题符合了条件,证明整个大问题也符合了条件 对于一个等差的序列。如0 1 2 3 4 5 我们可以这样做,把他分离成2部分等差子序列0 2 4和1 3 5然后组合成一个新的序列0 2 4 1 3 5。这样做的话,可以保证原创 2013-12-09 21:09:48 · 750 阅读 · 0 评论 -
HDU4911-Inversion
题意:根据题目要求交换相邻的两个元素k次,使得最后剩下的逆序对数最少 思路:如果逆序数大于0,存在0 利用归并排序计算逆序对数。 #include #include #include using namespace std; const int MAXN = 1000005; int arr[MAXN], b[MAXN]; int n, k; long long原创 2014-08-05 19:36:43 · 1029 阅读 · 0 评论