归并排序是建立在归并操作上的一种有效的排序算法。该算法是採用分治法(Divide and Conquer)的一个很典型的应用。首先考虑下怎样将将二个有序数列合并。这个很easy,仅仅要从比較二个数列的第一个数,谁小就先取谁,取了后就在相应数列中删除这个数。然后再进行比較,假设有数列为空,那直接将还有...
分类:
其他好文 时间:
2014-09-28 13:10:22
阅读次数:
180
题目大意:
题目给出了定义的小于号,然后求出一个LIS。。。
思路分析:
这道题目的是一个严格递增的,和 Hdu 4742 类似。只不过Hdu的这道题是一个不递减的序列。
简单说一下Hdu 4742的做法。
首先我们可以想到的是一维的LIS,那么简单就是n。
然后二维的LIS,就是先排序一维,然后用求第二维的LIS。
现在问题扩展到三维。依然排序一维。
假设我们排序的是z。...
分类:
其他好文 时间:
2014-09-26 23:22:48
阅读次数:
258
1 #include 2 #include 3 using namespace std; 4 int n,ans,v[41],c[41],s[2]; 5 int work(int L,int R)//分治 6 { 7 if(L==R) return v[L]; 8 int res...
分类:
其他好文 时间:
2014-09-26 23:00:58
阅读次数:
259
第一次遇到这种神奇的东西
hdu4742
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long long
#define eps 1e-8
#define...
分类:
其他好文 时间:
2014-09-26 01:46:48
阅读次数:
205
题意:给出一颗树,求出两个点的距离小于K的点对的个数.sL : 树的点分治,代码中有解释。1#include2#include3#include4#include5#include6#include7usingnamespacestd;8typedeflonglongLL;9constintMAX=...
分类:
其他好文 时间:
2014-09-25 22:43:27
阅读次数:
254
Mart Master II
Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 167 Accepted Submission(s): 63
Problem Description
Trader Dogy l...
分类:
其他好文 时间:
2014-09-24 20:19:37
阅读次数:
251
分治法,采用一种“分治(divide-and-conquer)”的...
分类:
其他好文 时间:
2014-09-24 18:58:57
阅读次数:
283
算法思想 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。(1) 分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然.....
分类:
其他好文 时间:
2014-09-24 10:42:06
阅读次数:
181
高速排序法原理也是用了分治法,主要原理是将数组分为A[p..q-1] 和A[q+1..r],然后调整元素使得A[p..q-1]小于等于q,也小于等于A[q+1..r]。然后不断的递归,到最后就排序完毕。上代码:// QuickSort.cpp : 定义控制台应用程序的入口点。//#include "...
分类:
其他好文 时间:
2014-09-23 15:40:34
阅读次数:
178
今天我主要学习基于分治思想的归并排序算法,这是分治法的典型应用。废话不多说,下面直切正题。概述:将两个有序数组归并成一个更大的有序数组,我们称之为归并,人们根据这一操作发明了一种简单的递归排序算法:归并排序。归并排序最吸引人的是它能够保证任意长度为N的数组排序所需的时间和NlogN成正比;它的主要缺...
分类:
其他好文 时间:
2014-09-22 21:42:33
阅读次数:
173