摘要:
模拟退火(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)
摘要:
可持久化线段树,又称主席树,通常用于维护序列和值域。 对于单点修改的可持久化线段树,它主要的思想就是每次新建一个版本,复制一条链。 单点修改和查询历史版本。不能再用$lc$和$rc$记录根节点的左右子树,需要用变量来记录,每次修改最多复制$O(logN)$的链。 struct PersistentS 阅读全文
posted @ 2022-11-14 18:06
半步蒟蒻
阅读(78)
评论(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)
摘要:
可持久化栈,支持当前时刻入栈、回溯到某一时刻、某时刻出栈。 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)
摘要:
配对堆是可并堆的一种,支持插入、查询最小值、删除最小值、修改元素,但是无法可持久化。 配对堆是满足堆性质的带权多叉树,使用儿子-兄弟表示法存储。 在删除最小值时,为了保证总的均摊复杂度,需要把儿子们两两配对,再用merge把配成一对的两个儿子合并到一起,再将新产生的堆从右往左挨个合并。 这里的父指针 阅读全文
posted @ 2022-11-14 18:03
半步蒟蒻
阅读(220)
评论(0)
推荐(0)
摘要:
斜堆是可并堆的一种,与左偏树类似,只不过没有零距离的概念,在进行合并时不需要比较左右儿子的dis,直接进行合并即可。 这里的父指针并不是真的维护父亲,而是对于并查集的找根操作,因为只要求删除最小值,所以只需要知道一个集合的根节点即可,于是可以路径压缩。 struct SkewHeap{ struct 阅读全文
posted @ 2022-11-14 18:03
半步蒟蒻
阅读(55)
评论(0)
推荐(0)
摘要:
ST表,Sparse Table,是解决区间最值问题,及RMQ问题的工具,利用倍增思想,O(N*log2(N))预处理,O(1)查询。 设f[i][j]表示从i开始的2^j个数的最值,初始化f[i][0]=a[i],对于处理f数组,首先枚举区间长度j,第二层枚举左端点i,当i+(1<<j)-1>n时 阅读全文
posted @ 2022-11-14 18:02
半步蒟蒻
阅读(80)
评论(0)
推荐(0)
摘要:
中午全体去吃火锅,谁知道以后还会不会有呢?这好像是第一次在12:40的铃声之后回到宿舍的吧。 下午开会前做核酸,偌大的大厅只有我们信奥,在那里等待的四五名蓝衣医务人员,问虎哥“他们什么时候结束啊”,整个年级的其他人都在开三调总结大会,虎哥“可能年级领导总结发言都要习惯性拖延一些吧”,几名蓝衣很有怨言 阅读全文
posted @ 2022-11-14 18:01
半步蒟蒻
阅读(33)
评论(0)
推荐(0)
摘要:
宏定义预处理器,实现简化版预处理器,不包含函数,字符ASCII码范围32~126. namespace JRC{ string solve(string s){ string re=""; for(int i=0,j=0;i<s.size();i+=j){/*每次往后跳一个字符串的长度*/ for( 阅读全文
posted @ 2022-11-14 18:00
半步蒟蒻
阅读(186)
评论(0)
推荐(0)
摘要:
今天三调,不过和我们没有关系,毕竟也不参考。 终于可以考一次年级倒第一了。 中午403的化奥大佬说我们宿舍被通报没有值日,苗要在考完试后停他们两位的课,他觉得停不了我们的课。然而,下午做核算,旺问谁值日,最后的结果显然是我们整个宿舍都要在考完后停课。 kiritokazuto早上不跑操,走之前是墩了 阅读全文
posted @ 2022-11-14 18:00
半步蒟蒻
阅读(35)
评论(1)
推荐(0)
摘要:
$dfs$搜索算法,将要搜索的目标分为若干层,每层基于前几层的状态进行决策直到达到目标状态。 全排列问题。 在回溯时清空标记。 void dfs(int x){ if(x==n+1){ for(auto x:ans)printf("%5d ",x); puts(""); return; } for( 阅读全文
posted @ 2022-11-14 18:00
半步蒟蒻
阅读(51)
评论(0)
推荐(0)
摘要:
笛卡尔树是一种二叉搜索树,同时也满足大根堆或小根堆的性质,Treap也是一种笛卡尔树。 每个节点记录信息(x,y),对于x是二叉搜索树,对于y是小根堆,在x递增的情况下,可以线性时间内构造一颗笛卡尔树。 两个点的lca的权值就是它们在原序列中的RMQ. 笛卡尔树的先序遍历即是原序列,对于下标为数组下 阅读全文
posted @ 2022-11-14 17:59
半步蒟蒻
阅读(341)
评论(1)
推荐(0)
摘要:
Johnson通过另一种方法给每条边重新标注边权。新建一个虚拟结点0,向其他所有点连一条边权为0的边,用Bellman-Ford或SPFA算法求出0到其他所有点的最短路记为gpe[i],对于一条x->y的边权为w的边,将边权重置为w+h[x]-h[y],以每个点为起点,跑n边dijkstra即可,时 阅读全文
posted @ 2022-11-14 17:59
半步蒟蒻
阅读(44)
评论(0)
推荐(0)
摘要:
Prim最小生成树算法,以任意节点为根,找出与之相邻的所有便,再将新节点更新并以此节点为根继续进行,dis为已用点到未用点的最短距离。适用于稠密图,时间复杂度O(N^2)。 inline int prim(){ memset(vis,0,sizeof(vis)); memset(dis,0x3f,s 阅读全文
posted @ 2022-11-14 17:59
半步蒟蒻
阅读(303)
评论(0)
推荐(0)
摘要:
二分图带权匹配的前提是匹配数最大,KM算法的前提是带权最大匹配一定是完备匹配。 顶点标记值,给左部点一个整数值a[i],给右部点一个整数值b[i],同时必须满足对于任意的i,j,a[i]+b[j]>=w(i,j),w(i,j)为i与j之间的边权,无边是为负无穷,a[i]和b[i]称为节点的顶标。 若 阅读全文
posted @ 2022-11-14 17:55
半步蒟蒻
阅读(44)
评论(0)
推荐(0)
摘要:
自从我第一次有意识以来,眼前是一个昏暗的道路,路上敌军挡道,数量众多,我听到一道声音,“这些对她来说,不过是螳臂当车罢了”,果然,身为那为女主人公,一袭白衣,手持长刀,眼前的敌人也只是蝼蚁,没有丝毫阻挡的作用。此时,我不记得我的敌方是否是海盗。 在我第二次有意识以来,我在一艘大海盗船上,父亲便是海盗 阅读全文
posted @ 2022-11-14 17:54
半步蒟蒻
阅读(32)
评论(0)
推荐(0)

浙公网安备 33010602011771号