![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 58
自动驾驶小哥
stay hungry,stay foolish!
展开
-
【C++实现智能指针】
智能指针,C++实现shared_ptr和unique_ptr原创 2022-06-21 16:35:49 · 399 阅读 · 0 评论 -
【C++实现LRU缓存】
C++实现LRU缓存机制: Least Recently Used,缓存大小超过容量大小时,将最近最少使用的数据淘汰原创 2022-06-14 01:06:16 · 436 阅读 · 0 评论 -
【动态规划刷题】
动态规划,最长上升子序列,最长公共子序列原创 2022-06-13 20:22:47 · 102 阅读 · 0 评论 -
二叉树之堆
https://blog.csdn.net/liuchuo/article/details/84973009 #include<iostream> #include<vector> using namespace std; vector<int> v; int a[1001], n, isMin = 1, isMax = 1; void dfs(int in...原创 2019-11-06 15:46:08 · 106 阅读 · 0 评论 -
树状数组
1.什么是树状数组? 顾名思义,就是用数组来模拟树形结构呗。那么衍生出一个问题,为什么不直接建树?答案是没必要,因为树状数组能处理的问题就没必要建树。和Trie树的构造方式有类似之处。 2.树状数组可以解决什么问题 可以解决大部分基于区间上的更新以及求和问题。 3.树状数组和线段树的区别在哪里 树状数组可以解决的问题都可以用线段树解决,这两者的区别在哪里呢?树状数组的系数要少很多,就比如...原创 2019-10-29 18:00:53 · 136 阅读 · 0 评论 -
并查集
模板: void init(int n) { for(int i = 1; i <= n; i++) f[i] = i; } int find(int x) { //无路径压缩 return f[x] == x ? x : find(f[x]); } int find1(int x) { //有路径压缩,递归实现 if(x != f[x]) f[x] = find(f...原创 2019-10-28 22:02:31 · 96 阅读 · 0 评论 -
BFS和DFS
1.DFS(深度优先搜索) 2.BFS(宽度/广度优先搜索) 区别 实现方法 基本思想 解决问题 N规模 DFS 栈/递归 回溯法,一次访问一条路,到达终点返回 所有解问题,连通性问题 浪费时间节省空间,N <= 200 BFS 队列 分治限界法,一次访问多条路,每一层存储大量信息 最优解问题(最短路...原创 2019-10-27 12:46:59 · 345 阅读 · 0 评论