摘要: 标准库: 1.栈$stack$ top()//取栈顶元素 push()//压入元素 emplace()//压入元素至栈顶 s1.swap(s2)//交换两个栈 size()//栈中元素个数 empty()//判空 pop()//弹出栈顶元素 =,!=,==,>,<,>=,<= 2.队列$queue$ 阅读全文
posted @ 2022-11-15 21:17 半步蒟蒻 阅读(163) 评论(0) 推荐(0)
摘要: 最短路径树,即$Shortest$ $Path$ $Tree$,对于一张无向图,固定一个源点,树上每个点到源点的最短距离都等于原图中该点到源点的最短距离。 最短路径树是所有路径树中边权和最小的。 通常使用$dijkstra$算法来找出$SPT$,在每次松弛操作时,如果松弛成功,记该点的前驱边的编号, 阅读全文
posted @ 2022-11-15 18:19 半步蒟蒻 阅读(611) 评论(0) 推荐(2)
摘要: 模拟退火(Simulate Anneal)是一种通用概率演算法,在大的搜索空间内寻找最优解,若新的状态优于当前状态,则将新的状态作为最优解,否则以一定概率接受新的状态。 模拟退火有三个因数,初始温度$T_0$,降温系数$d$,终止温度$T_k$,通常不直接取当前解为最优解,而是维护退火过程中遇到的所 阅读全文
posted @ 2022-11-14 18:07 半步蒟蒻 阅读(351) 评论(0) 推荐(0)
摘要: 前缀函数nxt[i]表示s[0...i]最长相等的真前缀与真后缀的长度。 i-nxt[i]即为s[0...i]的一个周期。 前缀函数求法,j代表的时长度。 下标从0开始。 for(int i=1,j=0;i<n;i++){/*j最次也是前一位的nxt,从前一位失配的位置开始匹配,后缀与前缀不等时一直 阅读全文
posted @ 2022-11-14 18:06 半步蒟蒻 阅读(134) 评论(0) 推荐(0)
摘要: 树状数组每个点管理的区间是$[i-lowbit(i)+1,i]$,一般用单点修改区间查询问题。 单点修改区间查询树状数组。 struct BinaryIndexedTree{ int t[N]; inline int lowbit(int x){ return x&-x; } inline void 阅读全文
posted @ 2022-11-14 18:06 半步蒟蒻 阅读(22) 评论(0) 推荐(0)
摘要: 可持久化线段树,又称主席树,通常用于维护序列和值域。 对于单点修改的可持久化线段树,它主要的思想就是每次新建一个版本,复制一条链。 单点修改和查询历史版本。不能再用$lc$和$rc$记录根节点的左右子树,需要用变量来记录,每次修改最多复制$O(logN)$的链。 struct PersistentS 阅读全文
posted @ 2022-11-14 18:06 半步蒟蒻 阅读(78) 评论(0) 推荐(0)
摘要: 可持久化栈,支持当前时刻入栈、回溯到某一时刻、某时刻出栈。 struct PersistentStack{ int stk[N],tp,pre[N],root[N]; inline void push(int p,int x){/*当前p时刻入栈*/ stk[++tp]=x; root[p]=tp; 阅读全文
posted @ 2022-11-14 18:05 半步蒟蒻 阅读(83) 评论(0) 推荐(0)
摘要: 今天出发去石家庄,大家都很开心,于是在上午考完了学长出的三道IOI题后,大多改完T1就开始颓了。 不久后,虎哥通过对讲机说,陶主任让smtwy在1:45其他学生起床后,带两个人去宿舍扫厕所。 我记得清清楚楚我是拿着水杯下的楼,可是神奇的是到宾馆后行李箱中确确实实没有我的水杯,后来我宁愿相信水杯是丢在 阅读全文
posted @ 2022-11-14 18:05 半步蒟蒻 阅读(49) 评论(0) 推荐(0)
摘要: treap是一种弱平衡的二叉搜索树,同时符合二叉搜索树和堆的性质,堆一般用随机值的小根堆。 旋转treap在每次有修改操作时,通过比较节点的优先值来决定是否旋转,通过旋转来维持树的平衡。 不维护自身副本数,左子树小于等于根节点,右子树严格大于根节点。 struct Treap{ struct tre 阅读全文
posted @ 2022-11-14 18:04 半步蒟蒻 阅读(78) 评论(0) 推荐(0)
摘要: 字典树$trie$,用于检索字符串是否出现过,也可以检索前缀,对于字符串的$trie$,每个点拥有$26$个儿子,具有相同前缀的字符串共用前缀节点,整棵树的根节点为空,默认只有小写字母。 一般而言,$root$和$tot$是可以初始化为$0$的,但是特殊情况下需要初始化为$1$,故多数时候初始化为$ 阅读全文
posted @ 2022-11-14 18:04 半步蒟蒻 阅读(69) 评论(0) 推荐(0)