
排序
文章平均质量分 64
chp的博客
这个作者很懒,什么都没留下…
展开
-
AcWing 105. 七夕祭—数学推导、贪心
其次,我们可以发现,我们在行上调整某个摊位,不会影响该摊位所在列的摊位数量,比如摊位 x 的位置为(x,y),上下调整到(x+1,y)、(x-1,y)不会影响对这一列的摊位数量有影响,同理我们在列上调整某个摊位,不会影响该摊位所在行的摊位数量。所以我们的目标最小的交换次数就等于最小在行上面的交换次数+最小在列上面的交换次数。首先,如果想要做到每行的摊位数都一样,那么总摊位数一定是行数的倍数(0倍也行),同理如果想要做到每列的摊位数都一样,那么总摊位数应该是列数的倍数。可以发现,在行/列上,这是一道。原创 2023-07-17 11:12:12 · 225 阅读 · 0 评论 -
AcWing1536. 均分纸牌 && AcWing122. 糖果传递—数学推导、贪心
A2的纸牌只能从A3获取,或者给A3不能从A1获取,或者给A1,因为A1==avg,这样做会使得操作重复(A1就是通过A2来达到avg的),这样我们就能知道当前的数Ai要通过Ai+1来达到avg。这道题看起来和上面的题很像,其实题意确实差不多,区别就是上一道题的两端和这道题的两端不同,这道题是一道环型均分纸牌问题,虽然改动了一点,但是解法却完全不同。,an从a1获得x1,其中x2,x3,…这道题有个特殊的地方就是A1只能从A2获取纸牌,或者A1只能将多余的纸牌给A2,此操作后A1的纸牌数应该为avg。原创 2023-07-16 16:09:18 · 518 阅读 · 0 评论 -
AcWing 106. 动态中位数—对顶堆
这道题应该用树状数组、平衡树也能解决,这里用对顶堆来做,对顶堆能够用维护第。是固定的,在这道题中,维护两个堆,一个大根堆一个小根堆。原创 2023-07-15 17:10:07 · 290 阅读 · 0 评论 -
AcWing 107. 超快速排序—逆序对
我们思考冒泡排序在什么情况下会交换两个相邻的数,目标是升序序列时,当f[i]>f[i+1]时,会交换f[i]与f[i+1],交换后可以发现f[i]的逆序对数量减少了一个,所以就能往这方面想,最后可以发现逆序对的数量就是需要交换的最少次数。,但是主要是如何分析问题,如何能从问题中看出来和逆序对数量有关,现在的题目基本上很少是那种模板算法题了,更注重思维,所以一定要培养好思维,模板只是基础。思维很重要,或者说在熟知算法模板的情况下,更重要的就是思维了。这道题考查的算法不难,就只是利用。原创 2023-07-14 16:14:00 · 478 阅读 · 0 评论 -
求逆序对的数量(归并排序)
求逆序对的数量什么是逆序对例题分析代码如下:什么是逆序对设 A 为一个有 n 个数字的有序集 (n>1),其中所有数字各不相同。如果存在正整数 i, j 使得 1 ≤ i < j ≤ n 而且 A[i] > A[j],则 <A[i], A[j]> 这个有序对称为 A 的一个逆序对,也称作逆序数。例如 1,3,5,2,4中(3,2),(5,2),(5,4)为逆序对,所以1,3,5,2,4共有3个逆序对。例题逆序对的数量给定一个长度为 n 的整数数列,请你计算数列中原创 2021-12-29 21:10:43 · 741 阅读 · 0 评论 -
递增三元组
第九届蓝桥杯省赛 递增三元组给定三个整数数组A=[A1,A2,…AN], B=[B1,B2,…BN], C=[C1,C2,…CN],请你统计有多少个三元组 (i,j,k) 满足:1≤i,j,k≤NAi<Bj<Ck输入格式第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,…AN。第三行包含 N 个整数 B1,B2,…BN。第四行包含 N 个整数 C1,C2,…CN。输出格式一个整数表示答案。数据范围1≤N≤1e5,0≤Ai,Bi,Ci≤1e5输入原创 2020-11-06 20:49:29 · 1177 阅读 · 1 评论 -
快速排序&&归并排序
快速排序快速排序采用的是分治的策略,算法的具体实现过程是1.确定一个数X(一般是选中间值X=q[l+r>>1])2.利用指针i,j,将数组中比X小的数放在一边,比X大的数放在另一边3.分别对两边进行递归快排4.当[L,R]中的元素个数<=1时返回。看一个具体的模板题:给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好...原创 2020-08-17 21:02:00 · 609 阅读 · 0 评论 -
归并排序
题目传送门归并排序主要是用了分治的方法,分治递归,直到递归的数组内元素数量为1或者0;每次分为两个数组再将数组合并;#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=100010;int a[N];int num[N];...原创 2020-02-18 16:39:28 · 126 阅读 · 0 评论