摘要: 转自百度百科 主要记录写题时遇到的 STL 的一些函数, 这里函数的区间几乎都是半开的。 1,sort(start, end, cmp) 头文件:<algorithm> 时间复杂度:nlog2n 升序:默认升序 降序:加一个比较函数 bool complare(int a, int b) { ret 阅读全文
posted @ 2020-03-27 20:28 叫我妖道 阅读(245) 评论(0) 推荐(1) 编辑
摘要: 视频地址:https://www.bilibili.com/video/BV1cb411t7AM?from=search&seid=10066884482637263864 代码 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<s 阅读全文
posted @ 2020-03-27 12:03 叫我妖道 阅读(582) 评论(0) 推荐(1) 编辑
摘要: 一,概述 并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。 它虽然不是很复杂的数据类型,却也是设计的很精妙,可以运用于许多地方。 二,集合的个数 1,集合的个数:即为树的个数。 假设有 n 个点,m 条边,则初始时有 n 个集合,则每当两个点 joi 阅读全文
posted @ 2020-03-25 14:31 叫我妖道 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 视频地址: https://www.bilibili.com/video/BV1Nx411D7sU 一, qsort 快排 ① 头文件 <stdlib.h> ② 函数声明: void qsort(void* base, size_t num, size_t size, int(*compare)(c 阅读全文
posted @ 2020-03-24 15:58 叫我妖道 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.bilibili.com/video/av25829980?t=520 一,从 BFS 到 Dijkstra 算法 1,Dijkstra 算法原理 保证边是非负的,那么长度长的最短路径一定是在长度短的最短路径的基础上延伸出来的。 2,优先队列 如果将 BFS 中的队列改 阅读全文
posted @ 2020-03-21 12:57 叫我妖道 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 参考: https://www.bilibili.com/video/av34962180?t=1435 https://www.bilibili.com/video/BV1DX4y157r2 一,组合序列 1,dfs 直接用 dfs 遍历所有可能 注意点: ① 当前可选择的数字从上次被选择的数字的 阅读全文
posted @ 2020-03-20 23:08 叫我妖道 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 参考: https://www.bilibili.com/video/av38498175?p=1 借这个问题科普一下并查集各种情况下的时间复杂度 - 省份数量 - 力扣(LeetCode) (leetcode-cn.com) 一,并查集(Disjoint Set)概述 1,并查集的作用 ① 检查图 阅读全文
posted @ 2020-03-18 09:40 叫我妖道 阅读(1297) 评论(0) 推荐(0) 编辑
摘要: 一,前言 说实话,看到时候没有看懂,自己模拟了一下边是怎么加上去的,才搞明白。想明白之后,才知道被这些变量名给忽悠了,我不知道取名的人是怎么想的,但我觉的有些变量名并不恰当,直接把我带到沟里去了,所以这里我写的变量名是根据自己的理解命名。๑乛◡乛๑ (●´∀`●) 二,引子 1, 想要通过一组有序的 阅读全文
posted @ 2020-03-16 17:23 叫我妖道 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 题目:http://www.fjutacm.com/Contest.jsp?cid=862#P2 代码: #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<queue> using namesp 阅读全文
posted @ 2020-03-15 18:22 叫我妖道 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 参考: https://www.bilibili.com/video/av21776496?from=search&seid=14795429927506117804 《数据结构教程》第五版 李春葆 一,递归到非递归的转换 1,递归的分类 尾递归 ① 如果一个递归过程会 递归函数中的递归调用语句是最 阅读全文
posted @ 2020-03-14 11:35 叫我妖道 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 参考:《数据结构教程》李春葆 一,选择排序 0,有序区 有序区:数组中已经排序好的连续区间 1,算法思想(升序) 将有序区设在数组的开头 / 末尾,然后从无序区中选择一个最小值 / 最大值,交换到无区序的第一个元素 / 最后一个元素,作为新选择出来的元素添加到有序区。一直循环到无序区为空 2,算法步 阅读全文
posted @ 2020-03-12 23:56 叫我妖道 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 参考:数据结构教程(第五版)李春葆主编 一,插入排序 1,算法思路(升序序列) 将数组分为有序区和无序区,初始时有序区只有a[0] (一个元素的话,自然有序),剩下的都是无序区。然后从第二个元素依次往后,将每个元素插入有序区,共需插入 n-1 次。 插入的方法:从要插入的元素 key 的位置往前遍历 阅读全文
posted @ 2020-03-12 10:51 叫我妖道 阅读(276) 评论(0) 推荐(1) 编辑
摘要: 参考: https://www.bilibili.com/video/BV1DX4y157r2 一,有趣的数字 1,链接:http://118.190.20.162/view.page?gpid=T2 2,dp 求解 函数关系: 对于第 i 位的状态,根据它前面所出现的数字,总共可列出有 6 种状态 阅读全文
posted @ 2020-03-11 10:27 叫我妖道 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.bilibili.com/video/av32546525?t=1643 链接:https://leetcode-cn.com/problems/flood-fill/ 其中 DFS 的代码是,看大雪菜 up主的视频,因为我 DFS 还不太会用递归的形式 BFS 是自己 阅读全文
posted @ 2020-03-10 19:15 叫我妖道 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 一, 头文件#include<utility>或者 vector queue map stack 的头文件 二,用途 ① queue<pair<int, int>> q; // 结构体队列 ② m.insert((pair<int, char>(1, 'A'))); // map 三,访问 如果只有 阅读全文
posted @ 2020-03-10 18:37 叫我妖道 阅读(142) 评论(0) 推荐(0) 编辑
~~加载中~~