03 2021 档案

摘要:深度优先搜索: 深度优先搜索其实就是暴力枚举的优化版本,深度优先搜索从一种情况一直走下去,直到错误了或者是已经是答案时就不再枚举(返回上一层寻找还有没有其他的解,直到所以可能可行的情况都试过为止)。 水 //模板: void dfs(int x){ if (边界条件){记录答案/最优解;return 阅读全文
posted @ 2021-03-16 17:01 Carrot_Rui 阅读(126) 评论(0) 推荐(0) 编辑
摘要:手写小根堆:堆一般就是完全二叉树,满足父节点小于等于子节点(大根堆相反) 数组存储堆: 1.父亲节点为 x ,则左右儿子节点分别为 2x , 2x + 1 2.插入一个数: head[++size] = x ; up(size); 3.求集合中最小值: head[1]; 4.删除最小值: head[ 阅读全文
posted @ 2021-03-13 09:21 Carrot_Rui 阅读(63) 评论(0) 推荐(0) 编辑
摘要:例题 例题 例题 并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中 现在我们假定 fa[i] 表示第 i 个人的老大是谁 现在我们有甲,乙,丙三个人(分别用 a, b, c 阅读全文
posted @ 2021-03-09 17:07 Carrot_Rui 阅读(27) 评论(0) 推荐(0) 编辑
摘要:栈: 队列 单链表 双链表 1.栈 #include <bits/stdc++.h> using namespace std; const innt N = 1e6 + 10; //栈 stk -->数组模拟栈 tt--> 栈顶 int stk[N], tt ; //进栈 void push(int 阅读全文
posted @ 2021-03-02 17:04 Carrot_Rui 阅读(56) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示