
分治
文章平均质量分 79
分而治之。子问题互不重叠,但最优子结构需考虑全部子问题。
Melody_Gogo
你野心勃勃,灵魂有火。
展开
-
快速排序【分治】【随机】
#include <bits/stdc++.h> using namespace std; int arr[100010]; void quicksort(int left, int right){ //递归终止条件 if(left>=right) return; //选择一个基准pivot,然后将<pivot的放到左边,将>pivot的放在右边,最后将pivot与中间相遇的交换。 //这个过程不断递归,直到区间为1,完成排原创 2021-12-26 16:14:56 · 675 阅读 · 0 评论 -
逆序对个数【归并排序的应用】【分治】
题目描述 题目链接【逆序对个数】 给定一个长度为nnn的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第iii个和第jjj个元素,如果满足i<ji<ji<j且a[i]>a[j]a[i]>a[j]a[i]>a[j],则其为一个逆序对;否则不是。 输入格式 第一行包含整数nnn,表示数列的长度。 第二行包含nnn个整数,表示整个数列。 输出格式 输出一个整数,表示逆序对的个数。 数据范围 1≤n≤1000001\leq{n}\leq{100000}1≤原创 2021-12-26 11:46:56 · 479 阅读 · 0 评论