蟠修
码龄6年
关注
提问 私信
  • 博客:8,932
    8,932
    总访问量
  • 48
    原创
  • 2,059,863
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
  • 加入CSDN时间: 2018-09-19
博客简介:

qq_43240470的博客

查看详细资料
个人成就
  • 获得2次点赞
  • 内容获得0次评论
  • 获得7次收藏
创作历程
  • 45篇
    2019年
  • 3篇
    2018年
成就勋章
TA的专栏
  • C++
    33篇
  • ACM
    21篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

5月22日

最短路径1、Floyed算法2、Dijkstra算法3、Bellman-Ford算法:Ford(福特)算法,同样是用来计算从一个点到其他所有点的最短路径的算法,也是一种单源最短路径算法。能够处理存在负边权的情况,但无法处理存在负权回路的情况。4、SPFA算法:简单的说就是队列优化的bellman-ford,利用了每个点不会更新次数太多的特点。并查集动态地维护和处理集合元素之...
原创
发布博客 2019.06.11 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5月25日

并查集的作用:查询两点是否联通,即两点的关系。于是在用克鲁斯卡尔建造最小生成树时,可以用并查集判断是否需要加入此边,也可以查询u到v的路径中的最小边权。并查集可以通过压缩路径进而大大减少复杂度,从而A一题。并查集的实现操作步骤:建立一个新的集合,将包含x和y的动态集合合并为一个新的集合,返回一个指向包含x的集合的代表。判断元素是否属于同一集合:bool judge(int ...
原创
发布博客 2019.05.26 ·
150 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5月18日

图论图的存储结构:1、二维数组邻接矩阵存储2、数组模拟邻接表存储 图的邻接表存储法,又称链式存储法。本来是要采用链表实现的,但大多数情况只要用数组模拟即可。void add_edge(int from,int to,int dis) //加入一条从from到to距离为dis的单向边{ edge[++num_edge].next=head[from]; edg...
原创
发布博客 2019.05.19 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5月15日

数据结构——堆堆结构是一种数组对象,它可以被视为一棵完全二叉树。树中每个结点与数组中存放该结点中值的那个元素相对应。堆分为大根堆和小根堆(大根堆即为父结点大于子结点,小根堆则相反)。对堆的操作主要有两个:put和get。put指加入元素,get则从堆中取出并删除一个元素。堆的应用:经典的Huffman树问题。Huffman树的构造方法如下:从森林里取两个权和最小的结点; ...
原创
发布博客 2019.05.15 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5月11日

二叉树性质:在二叉树的第i层上最多有2^(i-1)个结点(i>=1)。 深度为k的二叉树至多有2^k –1个结点(k>=1)。 【特别】一棵深度为k且有2k–1个结点的二叉树称为满二叉树。如下图A为深度为4的满二叉树,这种树的特点是每层上的结点数都是最大结点数。 对任意一棵二叉树,如果其叶结点数为n0,度为2的结点数为n2,则一定满足:n0=n2+1。 具有n个结点的完...
原创
发布博客 2019.05.12 ·
124 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5月8日

数据结构1、栈栈顶近栈顶出。插入一般称为进栈(PUSH),删除则称为退栈(POP)。用一个栈指针TOP指向栈顶。若TOP=0,表示栈空,TOP=N时栈满。进栈时TOP加1。退栈时TOP减1。当TOP<0时为下溢。栈指针在运算中永远指向栈顶。2、队列队列是队尾进,对头出(先入队的元素先出)。3、树及二叉树二叉树的关键词:度、结点(结点有叶结点、分支节点,同时称上端结点为...
原创
发布博客 2019.05.08 ·
106 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5月4日

单调队列单调队列中元素具有单调性,队首和队尾都可进行出队操作,而只有对位可以进行入队操作。若在单调队列中插入元素,若插入的元素破坏单调性,则删除队尾元素直到插入的元素不再破坏单调性为止。往往用于取最优值——访问首尾元素。小知识:使用freopen("1.txt","r",stdin); 该语句可直接导入样例数据,无需重复多次输入样例,大大的节省了时间,同时也提高了输入的准确率。...
原创
发布博客 2019.05.04 ·
110 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5月1日

二分法的拓展——三分法不同于二分法中数据的单调性,三分法可用于求解某凸性或凹性函数的极值,由于通过函数本身表达式并不容易求解,故可以用三分法不断逼近求解。三分法类似二分的定义Left和Rightmid = (Left + Right) / 2midmid = (mid + Right) / 2;如果mid靠近极值点,则Right = midmid;否则(即midmid靠近极...
原创
发布博客 2019.05.02 ·
123 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4月27日

搜索专题结束了……二分查找是二分算法中最简单基础的一类题目,在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直到找到目标元素。而二分法更多用于通过二分来找答案,先将答案具有的特定范围单调排序再进行二分验证。二分最大的特点即为省时,其消耗时间为,使用二分法能最大限度节省时间有效防止超时问题。...
原创
发布博客 2019.04.27 ·
113 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4月24日

这段时间对搜索有了一定的了解,对深搜和广搜也有了一定的认识,知道了两者之间的区别以及何时使用哪种搜索方式。深搜可以说是“一条路走到黑”,它能列举出所有的可能,将所有情况全部枚举出来。而广搜则是耗时最短——最快速的搜索。根据不同的题目,采用不同的方法。今天在上数分课的时候讲到梯度,引出“盲人下山”(找到最快捷的下山方式),若将其编程,则就是广搜问题。同时,上节课还开了新的专题——二分,这里的...
原创
发布博客 2019.04.24 ·
126 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4月20日

最近看到参加比赛的同学日夜兼程地写代码、打比赛,虽没有亲身经历,但也感觉出了其中的紧张与激烈。 有一个同学,报名参加了比赛,作为女生,佩服她的这份坚持,同时还不得不佩服她的做题能力——对题目的理解及题型的熟练度。继续看搜索问题,深度优先搜索可以通过递归及非递归来实现运用递归实现:Function Dfs (Int Step, 当前状态)Begin可加结束条件从当前状态循环拓展下...
原创
发布博客 2019.04.20 ·
147 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4月17日

上个周末,由于参加英语竞赛错过了一堂课,已经开始了搜索的学习。搜索,其实就是穷举出问题的所有或部分情况从而求出问题解的一种方法。搜索相较于一般的枚举法有了一定的方向性和目的性。而这就用到了状态转移。目前,所常用的状态转移分为两种——广度优先搜索(BFS)和深度优先搜索(DFS)。广度优先搜索是按照层数一层一层来遍历的,根据队列先进先出的原理,将每一层的节点按从左到右的顺序依次放入队列中;而深度...
原创
发布博客 2019.04.17 ·
104 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

区间dp

主要思想就是先在小区间进行DP得到最优解,然后再利用小区间的最优解合并求大区间的最优解。
原创
发布博客 2019.04.14 ·
93 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4月6日

这几天是清明假期,老师说对于写代码的人来说除了春节的那几天是没有假期的。这几天,在平时的做题网站上,每天都开了五小时的竞赛,我虽没有参加,但也从同学那里看了一些题目。全英文的题目,虽说平时做的题大多也都是英文,但平时也就用有道简单的就翻译出来了,然而真正做题的时候,电子词典什么的是绝对不可能的,so:English is very important!再就是,近期的背包问题。01背包是最基...
原创
发布博客 2019.04.06 ·
96 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4月3日

近期主要学习DP中的背包问题,背包问题在一开始学习贪心的时候就有接触,现在是对其更加细化的学习,背包问题分为01背包、完全背包、多重背包、分组背包等问题,其复杂程度逐步增加。01背包问题是最基础的背包问题。其特点在于:每种物品仅有一件,可以选择放或不放。...
原创
发布博客 2019.04.04 ·
120 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

3月30日

今天计算机二级考试,虽说上学期学了C++,然而这次无比真切地感受到之前接触到的当真少之又少,就连现在学习的STL、贪心、dp也都是九牛一毛。很多知识都对其没有概念,很多方法到现在还没有掌握。动态规划问题,近期发现有很多题的思路是基本相似的。这里,不得不说一道题,就是最大矩阵和问题,在老师还没将思路的时候,唯一能想到的就是四个循环,循环套循环,耗时极大。然而,一个崭新的思路——压缩矩阵,这是之前...
原创
发布博客 2019.03.30 ·
121 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

3月27日——动态规划dp

这周开始讲动态规划。动态规划问题是在多阶段问题中求取最优解问题(每步最优以保证全局最优)。动态规划与贪心的最大区别在于贪心只能解决部分求最优解问题,而动态规划则能全部解决。但动态规划相较于贪心更加复杂,耗时更多。但可对动态规划进行优化,排除重复计算(以空间换取时间)——记忆化搜索,将已有结果存入数组,将再次用到此结果时直接调用数组数据而非重复计算。动态规划解决问题往往是自下而上的,而贪心往往相...
原创
发布博客 2019.03.27 ·
113 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

3月23日

近期的新知识点并不是很多,主要都是做题练习。贪心涉及到多变量的题目较多,故常用到数据结构以背包问题举例:struct bag{ int w; //物品的重量 int v; //物品的价值 double c; //性价比}a[1001]; //存放物品的数组排序因子(按性价比降序):bool cmp(bag a, bag b){ ...
原创
发布博客 2019.03.23 ·
170 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

memset函数

最快捷的结构体或数组清零——memset在这里举个例子:数组chr有100个存储位置:char chr[100];memset(chr,0,sizeof(chr));相当于将数组chr全部清零
原创
发布博客 2019.03.21 ·
109 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

3月20日总结

这周一直在做贪心的题,发现贪心的最大特点就是——读完题目后往往没有思路,无从下手;而当有思路后,代码并不会消耗太多时间。近期的题目,关联数据比较多,往往会用到pair类型或结构体。pair类型pair包含两个数据值。与容器一样,pair也是一种模板类型。但在创建pair对象时,必须提供两个类型名。pair与其他标准类型不同,可以直接访问其数据成员:其成员都是共有的,分别命名为fir...
原创
发布博客 2019.03.20 ·
111 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多