随笔分类 -  模板

方便打网赛的模板整理。
摘要:Fhq-Treap. // Fhq-Treap const int MAXN = 1e5 + 5; struct Fhq_Treap { #define Lson Tr[p].l #define Rson Tr[p].r struct Fhq_Node { int l, r, Val, Key, S 阅读全文
posted @ 2022-01-12 16:39 STrAduts 阅读(31) 评论(0) 推荐(0) 编辑
摘要:EK. 很少用到,知道思想即可。 ~~懒得写封装的屑。~~ queue<int> q; int Cap[MAXN][MAXN], Flow[MAXN][MAXN], Aug[MAXN], fa[MAXN], n; void Add_Cap(int u, int v, int C) { Cap[u][ 阅读全文
posted @ 2022-01-06 20:31 STrAduts 阅读(42) 评论(0) 推荐(0) 编辑
摘要:#include <cstdio> int Abs(int x) { return x < 0 ? -x : x; } int Max(int x, int y) { return x > y ? x : y; } int Min(int x, int y) { return x < y ? x : 阅读全文
posted @ 2021-10-18 15:58 STrAduts 阅读(43) 评论(0) 推荐(0) 编辑
摘要:```cpp #include using namespace std; typedef double Doub; typedef long long LL; typedef pair PII; // template inline Tem Abs (Tem x) { return x inline 阅读全文
posted @ 2021-10-18 15:42 STrAduts 阅读(40) 评论(0) 推荐(0) 编辑
摘要:随机化算法属于省选芝士体系 0x01 前置芝士 你只需要会 rand 就可以啦! 当然如果你想理解的更透彻也可以先看看 爬山算法 0x02 关于退火 退火是一种金属热处理工艺,指的是将金属缓慢加热到一定温度,保持足够时间,然后以适宜速度冷却。目的是降低硬度,改善切削加工性;消除残余应力,稳定尺寸,减 阅读全文
posted @ 2020-12-19 17:26 STrAduts 阅读(178) 评论(1) 推荐(0) 编辑
摘要:其实真不太想写的。 Update:2020.11.23 例题。 前置芝士:可以先看看其他的 RMQ 算法,如树状数组,ST之类的。 毕竟线段树这个东西很重要,而看懂了其他的会方便理解一些,早学不一定精。 当然,也欢迎翻翻我之前写的。给个链。 0x01 基本概念 线段树(Segment Tree)是一 阅读全文
posted @ 2020-11-21 17:36 STrAduts 阅读(176) 评论(1) 推荐(1) 编辑
摘要:Trie,又经常叫前缀树,字典树等等。它有很多变种,如后缀树,Radix Tree/Trie,PATRICIA tree,以及bitwise版本的crit-bit tree。当然很多名字的意义其实有交叉。 定义 在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通 阅读全文
posted @ 2020-11-03 21:38 STrAduts 阅读(102) 评论(0) 推荐(0) 编辑
摘要:引子 果然老师们都只看标签拉题。。。 2020.8.19新初二的题集中出现了一道题目(现已除名),叫做Running In The Sky。 ~~OJ上叫绮丽的天空~~ 发现需要处理环,然后通过一些神奇的渠道了解到有个东西叫缩点。 紧接着搜了一下缩点,发现了 Tarjan 算法。 然后又翻了翻算法竞 阅读全文
posted @ 2020-10-24 11:54 STrAduts 阅读(111) 评论(0) 推荐(0) 编辑
摘要:命题描述 给定一个长度为 $n$ 的序列,$m$ 次询问区间最大值 分析 上面的问题肯定可以暴力对吧。 但暴力肯定不是最优对吧,所以我们直接就不考虑了。。。 于是引入:倍增 首先,倍增是个什么东西? 在这里转一篇写的超棒的blog,点我。要是这都没看懂~~你就连小白兔都不如~~我就无语了。 总的来说 阅读全文
posted @ 2020-10-24 11:45 STrAduts 阅读(142) 评论(0) 推荐(0) 编辑
摘要:排序是很常用的东西,在我们使用sort的同时,应该也要了解几种基础排序的算法思想及实现 于是乎……RT #include <cstdio> #include <windows.h> #include <algorithm> // swap(); using namespace std; const 阅读全文
posted @ 2020-10-24 11:41 STrAduts 阅读(84) 评论(0) 推荐(0) 编辑
摘要:命题描述 对于一个字符串,我们需要将它的每一个字符进行二进制编码(同一个字符可能会在字符串中出现多次。 我们规定: 1)相同的字符二进制编码相同。 2)且每一个字符的二进制编码不是其他的任意一个字符的二进制编码的前缀(eg.假设a的编码为10,则其他字符的编码前2位一定不为10。 并找出最优的编码方 阅读全文
posted @ 2020-10-24 11:37 STrAduts 阅读(69) 评论(0) 推荐(0) 编辑
摘要:最短路问题(short-path problem):最短路问题是图论研究中的一个经典算法问题,指在寻找图(由结点和路径组成的)中两结点之间的最短路径。算法具体的形式包括: 1.确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。 2.确定终点的最短路径问题 - 与确定起点的问题相反,该问题 阅读全文
posted @ 2020-10-24 11:34 STrAduts 阅读(134) 评论(0) 推荐(0) 编辑
摘要:基本概念 树状数组,即 Binary Indexed Tree (B.I.T), 通常用于解决区间查询,单点修改。 其复杂度为 log(n) (哇好快 命题描述 给定数列 a[1], a[2]...a[n] ,你需要依次进行 q 个操作,操作有两类: 1 i x:给定 i,将 a[i] 加上 x; 阅读全文
posted @ 2020-10-24 11:29 STrAduts 阅读(62) 评论(0) 推荐(0) 编辑
摘要:作者:曾经呢,我还是个蒟蒻~~现在也是~~,一不小心翻到了这个好像很高级的东西。于是,就学了。。。 并查集 首先,谁能告诉我这是个啥?? 语文老师说,有个古文里的词不会的时候,可以尝试拆开组词。我们类比一下这个方法,并查集其实就是可以完成合并,查找操作的集合嘛。 Emmmm……没懂?好叭,我去问问度 阅读全文
posted @ 2020-10-24 11:13 STrAduts 阅读(137) 评论(0) 推荐(0) 编辑