- 博客(7)
- 收藏
- 关注
原创 归并排序+归并排序求逆序对
归并排序是一种利用和实现的一种的排序算法,时间复杂度O(nlog n),主要包含分解、合并两步将当前序列分解成(l,mid)和(mid+1,r)两个序列,直到不能再分解(即序列长度为1)为止合并指的是在递归回溯时将两个有序序列合并成一个由这两个序列中的元素组成的有序序列。具体实现:首先需要一个空序列用于临时存储合并结果,然后需要两个指针指向两个序列的起始位置,由于合并的两个序列一定相邻,所以一开始指针i=l,指针j=mid+1。
2024-04-18 00:14:54 257
原创 分解质因数
以上代码对于质数会输出它本身,对于1不会有输出,想要记录质因数及其指数可以用map[(i或n) ]++替换输出记录结果。原因是i=2本就是质数,while循环将出现过的所有的i的倍数先剔除,之后符合n%i==0条件的i必然是质数。注意到这里并没有判断i是否是质数仍然能够得到正确结果。分解质因数是指将一个合数分解成几个质数相乘的形式。最后留下的n要么是1,要么是质数,需要特判。时间复杂度O(sqrt(n))
2024-03-24 19:10:29 228
原创 Codeforces Round 936 (Div. 2)
贪心对原数组排序找到原本的中位数,尝试将当前中位数+1,发现只有当前位置右侧等于原中位数的数字会影响修改,只要将这些数都+1就能消除影响那么答案就是中位数所在位置右侧等于中位数的位置数+1,统计输出。
2024-03-23 18:47:30 1380
原创 牛客小白月赛88
贪心观察数据范围可以发现,w始终大于等于1,x始终小于等于1000,w不超过1000个,所以根本不存在-1的情况,可以选择最大的w输出1000个,当然,你甚至可以任意选一个输出1000个。
2024-03-12 12:49:54 506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人