![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分治
文章平均质量分 67
熟人看不到
这个作者很懒,什么都没留下…
展开
-
Divide and Conquer -1平均的奶牛
题目大意:FJ 正在调查他的牛群,以找出最平均的奶牛。他想知道这头 "中位数 "奶牛的产奶量:一半奶牛的产奶量与中位数相当或更高;一半奶牛的产奶量与中位数相当或更低。给定奇数头奶牛 N(1原创 2024-04-22 23:59:33 · 125 阅读 · 0 评论 -
最多 O(log n) 次查询找出中值。
在一次查询中,您可以向两个数据库中的一个指定一个值 k,所选数据库将返回其包含的第 k 个最小值。由于查询的成本很高,因此你希望使用尽可能少的查询来计算中位数。每个数据库包含 n 个数值,因此总共有 2n 个数值,您可以假设没有两个数值是相同的。您想确定这组 2n 个数值的中位数,我们在此将其定义为第 n 个最小值。请给出一种算法,用最多 O(log n) 次查询找出中值。助记:a数组永远和k/2有关,b数组:mid1=s1+b数组永远和k-k/2有关,b数组:mid1=s2+原创 2024-04-27 00:58:04 · 300 阅读 · 0 评论 -
3.分治-在两个数组中找第k大(只能访问数组logn次)
两个数据库中找第k大,询问logn次原创 2024-05-06 02:14:22 · 293 阅读 · 0 评论 -
5.分治-二叉树局部最小
Consider an n-node complete binary tree T, where n = 2d−1 for some d. Each node v of T is labeled with a real number xv. You may assume that the real numbers labeling the nodes are all distinct. A node v of T is a local minimum if the label xv is less than原创 2024-05-06 10:45:27 · 389 阅读 · 0 评论 -
6.分治-逆序数对反转表
设 { A1,A2,...,An } 是集合 { 1,2,..., n} 的排列。如果 i < j 且 Ai > Aj,那么 (Ai,Aj) 对称为该排列的 "反转"。例如,排列 {3, 1, 4, 2} 有三个反转:(3,1)、(3,2) 和 (4,2)。因为在 1 的左边有 2 个数,即 5 和 9;在 2 的左边有 3 个数,即 5、9 和 8;你的任务是将一个排列转换成它的反转表,或者反过来,将一个反转表转换成相应的排列。原创 2024-05-06 02:19:40 · 758 阅读 · 0 评论 -
4.分治-新逆序数对(ai>2aj)
新逆序数对原创 2024-05-06 02:17:17 · 247 阅读 · 0 评论 -
2.分治-找第k大数
/* 2.将每个组a[2]也就是中位数,挪到a[0]-a[(r-p-4)/5],也就是数组前几个,(r-p-4)/5代表五个组的个数。//* 4.对整个数组进行排序,使中位数的中位数左边中位数的中位数,参考快排。//* 5.定位中位数的中位数的索引,分情况递归。//* 1.首先将数组分为五五一组,并且进行排序。//* 3.递归找到中位数的中位数。原创 2024-05-06 02:09:10 · 188 阅读 · 0 评论 -
1.分治-找奶牛(中位数)
FJ 正在调查他的牛群,以找出最平均的奶牛。他想知道这头 "中位数 "奶牛的产奶量:一半奶牛的产奶量与中位数相当或更高;一半奶牛的产奶量与中位数相当或更低。给定奇数头奶牛 N(1原创 2024-05-06 02:06:04 · 380 阅读 · 0 评论