分类:字符串-数字与字符串间转换 题目描述: 给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。 (注:分数越高的选手,排名越靠 ...
分类:
编程语言 时间:
2021-07-05 16:52:14
阅读次数:
0
Solution 对于兔子们按照颜色为第一关键字 , 位置为第二关键字排序 , 查询个数时直接二分 , 相同颜色的修改不用管 , 不同颜色的修改不会改变统一颜色内的大小顺序 , 直接修改不会影响有序性 . 时间复杂度 \(O(nlogn)\) Code #include<iostream> #inc ...
分类:
其他好文 时间:
2021-06-21 20:02:00
阅读次数:
0
开始使用DAG的DP思路解决,然而忽略一个特殊情况,两个box倘若相同尺寸,此时就不满足DAG的限制了 这道题取了一个非常巧妙的思路,因为box的l, m是固定的(也就是说不存在可以旋转的问题),这道题巧妙的利用LIS的思路解决,在学习LIS的过程中,还顺道了解了一个O(nlogn)的算法 #inc ...
分类:
其他好文 时间:
2021-06-13 10:26:23
阅读次数:
0
最近做题发现自己并不知道什么时候该用树套树,就来总结一下 一、静态整体kth 排序输出 sort(a+1,a+n+1); printf("%d\n",a[k]); 时间复杂度O(nlogn) 空间复杂度O(n) 二、动态整体kth 权值线段树+二分 查询时先查询左子树和sum,比较k和sum的大小: ...
分类:
其他好文 时间:
2021-06-13 10:21:17
阅读次数:
0
代码源自该视频 算法思想:选择一个中心点,将比中心点小的移动到左边,反之移动到右边; 这时形成两个子序列,对子序列递归直至,每个序列只有一个元素为止 时间复杂度 最好的情况是O(nlogn) 最差的情况是O(n²) 特点 如果基本有序 则会变成冒泡排序,时间复杂度为O(n²) package wha ...
分类:
编程语言 时间:
2021-06-11 18:23:48
阅读次数:
0
排序 分类 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行(k路归并) 内排序:所有操作再内存就可以完成 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的 ...
分类:
编程语言 时间:
2021-06-08 22:35:45
阅读次数:
0
思维导图 重要概念 1.假设图中有n个顶点,e条边,则 含有 e=n(n-1)/2条边的无向图称作完全图; 含有 e=n(n-1)条弧的有向图称作有向完全图; 若边或弧的个数 e<nlogn,则称作稀疏图,否则称 作稠密图。 2.假若顶点v和顶点w之间存在一条边,则称顶点v和w互为邻接点; 边(v, ...
分类:
其他好文 时间:
2021-06-02 15:13:04
阅读次数:
0
题链 dp[x] 表示以 x 为进化终点能取得的最大进化次数; 可以发现 dp[x] 等于 树上x的前缀最大值 +1; 但是不可能递归寻找x的父亲直到根节点,因为会超时; 所以采用重链剖分+线段树维护前缀最大值,复杂度O(nlogn*logn); #include <bits/stdc++.h> u ...
分类:
其他好文 时间:
2021-05-24 14:49:30
阅读次数:
0
对于包含n个数的数组而言,快速排序是一种最坏时间复杂度为O(n2)的排序算法。虽然最环情况很差,但是快速排序往往是排序时的最优选择,因为期望时间复杂度为Θ(nlogn),并且常数很小。 快速排序的描述: 快速排序使用了分治的思想,下面是快速排序的分治步骤: 分解:将数组A[l, r] 划分为A[l, ...
分类:
编程语言 时间:
2021-05-24 09:57:04
阅读次数:
0
题目描述: 统计一个数字在升序数组中出现的次数。 例如: [1,2,3,3,3,3,4] 3 返回:4 解题思路: 看到题目,可直接暴力求解,循环数组,找出出现次数,但此时时间复杂度为O(n)。显然直接遍历,没有很好的利用题目中升序这个已知要求,我们只需要找到目标数字第一次和最后一次出现的位置,并且 ...
分类:
编程语言 时间:
2021-05-24 04:50:00
阅读次数:
0