数据结构与算法
文章平均质量分 87
..
七天晒网
飛 べ
展开
-
排序算法的学习
快速排序,归并排序,堆排序,冒泡排序属于比较排序。在排序的最终结果里,元素之间的次序依赖于他们之间的比较,每个数都必须和其他数进行比较才能确定自己的位置。比较排序的优势是,适用于各种规模的数据,也不在乎数据的分布,都能进行排序。计数排序、基数排序、桶排序则属于非比较排序。**非比较排序是通过确定每个元素之前,应该有多少个元素来排序。**针对数组arr,计算arr[i]之前有多少个元素,则唯一确定了arr[i]在排序后数组中的位置。非比较排序只要确定每个元素之前的已有的元素个数即可,所有一次遍历即可解.转载 2020-11-20 11:54:10 · 143 阅读 · 0 评论 -
刷题记录之剑指offer
(还差几题,感觉没太大意义就不写了(文章目录2020.10.16剑指 Offer 68 - I. 二叉搜索树的最近公共祖先2020.10.17剑指 Offer 68 - II. 二叉树的最近公共祖先剑指 Offer 27. 二叉树的镜像剑指 Offer 28. 对称的二叉树剑指 Offer 29. 顺时针打印矩阵剑指 Offer 30. 包含min函数的栈剑指 Offer 32 - II. 从上到下打印二叉树 II剑指 Offer 39. 数组中出现次数超过一半的数字剑指 Offer 40. 最小的k个数原创 2020-11-16 10:47:38 · 151 阅读 · 0 评论 -
快速乘与快速幂
快速幂运算:long long ksm(long long a, long long b) { long long ans = 1, base = a; while(b != 0) { if(b & 1 != 0) { ans *= base; } base *= base; b >>= 1; } return ans;}其中“b & 1”指取b的二进制数的最末位,如11的二进制数为1011,第一次循环,取的是最右边的“1原创 2020-11-14 16:19:41 · 113 阅读 · 0 评论 -
刷题记录
每日刷题记录,希望坚持。导航2019.11.2删除链表中的节点二叉树的最大深度反转字符串2019.11.2删除链表中的节点题目:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/【A-B-C-D】思考:如果要删除节点B,一般是让节点A的next指向C。因为此题参数只给了要删除的节点B,我们无法访问A,因此我们要...原创 2019-11-03 21:58:15 · 256 阅读 · 0 评论 -
[JAVA题目.基础]HashSet&循环&字符串
领扣771. 宝石与石头:https://leetcode-cn.com/problems/jewels-and-stones/重点不是题目,题目是简单题目。class Solution { public int numJewelsInStones(String J, String S) { HashSet<Character> set=new HashS...原创 2019-12-01 17:38:53 · 367 阅读 · 0 评论 -
二叉树的前序,中序,后续遍历
领扣题目:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/https://leetcode-cn.com/problems/binary-tree-inorder-traversal/https://leetcode-cn.com/problems/binary-tree-postorder-traversal/...原创 2019-05-14 21:22:07 · 139 阅读 · 0 评论 -
cf#553C. Problem for Nazar[奇偶相关]
http://codeforces.com/contest/1151/problem/C题目大意:一个无限奇数集合A{1,3,5,7,9…},一个无限偶数集合B{2,4,6,8…},为了得到一个新的集合C,第一次从A中取一个元素{1},第二次从B中取两个元素{2,4},第三次从A中取四个元素{3,5,7,9},依次类推,(规律可看出),得到的无限的C集合为{1,2,4,3,5,7,9…}问集合...原创 2019-05-08 20:43:48 · 164 阅读 · 0 评论 -
洛谷p1020[最长不上升序列--树状数组dp/stl
https://www.luogu.org/fe/problem/P1020第一种:树状数组int lowbit(int x){return x&-x;}void add(int x,int c){ for(int i=x;i<=maxn;i+=lowbit(i)) f[i]=max(f[i],c);//维护最大值 }int query(int x){ ...原创 2019-12-01 17:40:54 · 199 阅读 · 0 评论 -
洛谷p1603[区间dp]
https://www.luogu.org/problemnew/show/P1063区间dp:在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的 最优解进而得出整个大区间上最优解的dp算法。核心思路思路:求解在一个区间上的最优解,那么把这个区间分割成一个个小区间,求解每个小区间的最优解,再合并小区间得到大区间即可。所以可以枚举区间长度 len 为每次分割成的小区间长度(由...原创 2019-04-18 22:50:39 · 250 阅读 · 0 评论 -
洛谷p2176[最短路]
https://www.luogu.org/problemnew/show/P2176题意:n个点,m条路,如果使某条道路长度翻倍,求此时最短路与未改变前的最短路的差的最大值。思路:先求一边最短路,并记录路径。然后回溯路径,改变这条最短路的路径上的道路长度,计算并比较出最大的差值。之所以只改变最短路上的值,是因为哪怕改变了别的道路的长度,最短路的值不会改变,是无效的改变。代码待优化#in...原创 2019-09-25 11:36:33 · 198 阅读 · 0 评论 -
六学家[思维模拟]
描述如果你不明白标题的意思是什么,不用担心,接下来我会告诉你这个意思。“六学家的意。。。说到六学家,我就想到了今年下半年我要和中美合作拍的西游记。”“整天玩这个梗,有意思吗,跟个复读机一样,不过说到复读机,我想起来了我师父唐三藏念紧箍咒时也跟复读机一样。今年下半年,中美合拍的西游记即将正式开机,我继续扮演美猴王孙悟空,我会用美猴王艺术形象努力创造一个正能量的形象,文体两开花,弘扬中华文化,...原创 2019-04-15 16:51:21 · 233 阅读 · 0 评论 -
进贡[数学思维-奇数与质数与偶数的关系]
描述古代的皇帝每年都要给神灵进贡,祈求来年风调雨顺,国富民安。但是就算进贡再好的物品,神灵们也会有不满意度的。皇帝每年进贡的物品数量必须严格大于1份。如果皇帝某一年进贡了m份贡品,那么神灵的不满意度为m的约数中,比m小且最大的那个。现在假设国王要在k年内进贡完n份贡品,你能找出一种方案使得神灵的不满意度之和最小吗。你只需要输出最小的不满意度的和即可。为了帮助你更好的解决问题,心地善良...原创 2019-04-15 08:39:55 · 481 阅读 · 0 评论 -
洛谷p1396[前向星spfa]
https://www.luogu.org/problemnew/show/P1396题意:n个点,m条路径,求从A点到B点的道路的最大权值的最小值。【即路径上的最大的值的最小值】const int maxn=1e5+10;queue<int>q;int head[maxn],next[maxn],to[maxn],val[maxn];int dis[maxn],vis[ma...原创 2019-04-10 23:08:32 · 160 阅读 · 0 评论 -
洛谷p1168[线段树+离散化]
https://www.luogu.org/problemnew/show/P1168离散化:有些数据本身很大, 自身无法作为数组的下标保存对应的属性。如果这时只是需要这堆数据的相对属性, 那么可以对其进行离散化处理。当数据只与它们之间的相对大小有关,而与具体是多少无关时,可以进行离散化。参考:https://blog.csdn.net/qq_40046426/article/details/...原创 2019-04-10 21:03:49 · 230 阅读 · 0 评论 -
2019湖南多校第一场
第一次打团体赛,全靠队友带我躺。【未完成】Ahttps://codeforces.com/gym/101933/problem/A思路:dp题目。要贪心(排序)的背包问题。dp[w[i]]表示重量为w[i]的青蛙最高可以跳多高。转移方程:dp[j-w[i]]=max(dp[j-w[i]],dp[j]+h[i])#include <stdio.h>#include &l...原创 2019-03-11 22:31:01 · 321 阅读 · 0 评论 -
长理2019选拔赛1.0
寻宝描述在一维坐标轴上有许多宝藏,总共n种宝藏,每种宝藏有k个。现在共k个人寻宝,k个人初始位置可以位于任意点。但是每人需要按指定顺序捡起宝藏(1-&amp;gt;2-&amp;gt;3-&amp;gt;…-&amp;gt;n,先捡第1种,再捡第2种。。。最后捡第n种宝藏,每种宝藏捡起一个)。每个人要捡起n个宝藏。现在你自己规划好k个人的初始位置与寻宝路线(一个宝藏只能被一个人捡起),求k个人所走路程的和最短是多少。输入...原创 2019-04-10 21:52:50 · 230 阅读 · 0 评论 -
【编程受害者实录*并查集&&最短路】
目录:How Many Tables畅通工程 (经典并查集)小希的迷宫畅通工程续 (最短路)Til the Cows Come Homefind the longest of the shortest (涉及剪枝)How Many TablesToday is Ignatius’ birthday. He invites a lot of friends. Now it’s din...原创 2019-09-25 11:34:26 · 265 阅读 · 0 评论 -
【编程受害者实录*数论】
总结:在下数学白痴,告辞。目录:Modular Inverse (求最小乘法逆元–扩展欧几里得)Reduced ID Numbers (同余定理)Romantic (线性同余–扩展欧几里得)欧几里得核心代码:int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}扩展欧几里得核心代码ll exgcd(ll a,ll b,ll &...原创 2019-09-25 11:34:17 · 164 阅读 · 0 评论 -
长理2018新生赛
学校机房的电脑是真的垃圾,编译器版本落后,字体还小,键盘触感也不好,我的水平也菜2333。也算第一次考5个小时心态还可以强撑的比赛。整理一下自己写了的代码并学习没写的题目。[天知道我才A了3题X]B.签到题有话说:我,我被题目给欺骗了,当大多数人在写A题的时候,我奔向了B。题目:IG牛逼!!!众所周知,IG是英雄联盟S8世界总决赛冠军,夺冠之夜,数亿人为之欢呼!赛后某百分百胜率退...原创 2018-12-23 22:35:18 · 522 阅读 · 0 评论 -
【编程受害者实录*搜索】
那么问题来了,我连bfs和dfs还不怎么弄得明白,为什么要试图去写搜索的题目呢?答:生活所迫。本篇笔记我估摸着应该都是别人的代码我修改后的版本。...原创 2018-12-12 17:21:36 · 173 阅读 · 0 评论 -
【贪心】
*本人2018级大一,软件工程在读,实力水,本文是为了让我记笔记而诞生。如果很闲的人也欢迎欣赏。笔记始于2018.11.18目前持续更新,待完结。原创 2018-11-20 20:59:36 · 478 阅读 · 0 评论