
分治
分治
kelianlee
这个作者很懒,什么都没留下…
展开
-
Merge Sort: Counting Inversions(归并排序统计逆序对)
思路归并排序是一种分治思想,把一个数组分成左右两边分别排序,然后在合并,我们在合并的时候考虑,对于右边的坐标r_1,左边比右边大的个数不就是mid-l_1+1,每次求和就可以 #include <iostream> using namespace std; const int MAXN=1e7+10; typedef long long ll...原创 2019-08-13 02:18:24 · 568 阅读 · 0 评论 -
Non-boring sequences UVA - 1608
题意给你一个序列,问你这个序列是否满足任意一个连续子序列满足存在一个只出现一次的元素思路对于一个序列来说只要存在只出现一次的元素那么包含这个元素的左右序列都满足了,这时候分治判断不包含的情况下是否满足,对于一个连续子序列我们对于一个i求出这个元素前一次出现的位置和后一次出现的位置这样就能O(1)判断这个元素是否在这个序列中只出现一次了。#include <iostream&...原创 2019-09-20 12:57:24 · 123 阅读 · 0 评论