摘要:
一般并查集 并查集是一种树形的数据结构,用于处理集合的合并和查询问题,支持以下两种操作: 查找(Find):确定某个元素处于哪个子集 合并(Union):将两个子集合并成一个集合 一个集合具有以下两点合法性要求: 放入同一集合中的元素是具有某种共同属性的 例如维护一棵家族树,所有元素的共同属性是同一 阅读全文
摘要:
海伦公式 平面内有一三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得: \[ p = \frac{a + b + c}{2} \\ S = \sqrt{p * (p - a) * (p - b) * (p - c)} \] 阅读全文
摘要:
题目 区间内查询数字的频率 前期分析 多次查询 的存在大概率需要进行预处理 下面讨论预处理的不同方式 预处理各个元素在各个位置及以前的出现次数 区间 的存在指向了前缀和 实施方案 需要枚举每一个可能的元素,遍历序列预处理该元素对应位置及以前的出现次数 局限性 显然,这样预处理的方式是O(n^2)的, 阅读全文
摘要:
数据级别 时间复杂度 可能算法 \(30\) 指数级别 dfs+剪枝; 状态压缩dp \(100\) \(O(n^3)\) floyd; dp; 高斯消元 \(1000\) \(O(n^2)\); \(O(n^2log_n)\) dp; 二分; 朴素版Dijkstra; 朴素版Prim; Bellm 阅读全文
摘要:
BFS 在BFS解决连通块问题中有提及,不再赘述 并查集 比BFS解决要快一些 解决思路 初始化连通块数量为点数,即每一个点为一个连通块 对于每次读入的两个有关联的点,如果不在同一个集合则把一个点加入到另一个点的集合,同时连通块数量减1 代码实现 // 说明: // 1. n个点 m条边 // 2. 阅读全文
摘要:
2021 2021/11 2021/11/10 Be good enough to forgive someone, but don't be stupid enough to trust them again. 要能大度原谅,但不要轻易信任 2021/11/11 You only lose wha 阅读全文
摘要:
常见剪枝方法 优化搜索顺序 优先搜索决策树较小的点,例如在165. 小猫爬山一题中,优先搜索体重较大的扩展出的情况较少 排除冗余信息 如果某些情况在此前已经被搜索过了,那么无需继续搜索 可行性剪枝 如果可以证明某些情况已经无法得到答案了,那么无需继续搜索 最优性剪枝 如果某些情况的当前最优解已经偏离 阅读全文
摘要:
名词辨析 GNU GNU's Not Unix!的递归缩写 一个自由的操作系统,起源于GNU计划,希望发展出一套完整的开放源代码操作系统来取代Unix 基本组成包括: GNU编译器套装(GCC) GNU的C库(glibc) GNU核心工具组(coreutils) GCC GNU Compiler C 阅读全文
摘要:
stdbasic_stringsubstr 函数定义及功能描述 注: 默认参数npos means "until the end of the string" 示例程序 #include<iostream> #include <string> using namespace std; int mai 阅读全文
摘要:
概念 欧拉路径:图&G&中的一条路径若包括每个边恰好一次,则其为欧拉路径 欧拉回路:一条回路如果是欧拉路径,那么其为欧拉回路 存在条件 无论无向图还是有向图,首要条件为所有边都是连通的 无向图 存在欧拉路径的充要条件:度数为奇数的点只能有0或2个 存在欧拉回路的充要条件:度数为奇数的点只能有0个 有 阅读全文