07 2020 档案

摘要:介绍 后缀数组就是字符串的每个后缀的排序。 主要有两个sa和rk两个数组,sa[i]代表第i大的后缀的位置,rk[i]代表位置i的后缀的排位。满足rk[sa[i]] = sa[rk[i]] = i 实现 有很多求后缀数组的方法,其中一种是倍增法。 先给字符串每一位排序,然后倍增排序。假设当前倍增长度 阅读全文
posted @ 2020-07-16 19:23 limil 阅读(140) 评论(0) 推荐(0)
摘要:介绍 非常快地找到凸函数的极值点。 实现&原理 与二分法类似,三分算法先把区间分为长度相等的三段,那么l与r之间就有两个点,分别是:ll=l+(r-l)/3=(2l+r)/3和 rr=r-(r-l)/3=(l+2r)/3。 也可以二分再二分,即mid = (l+r) / 2,mmid = (mid 阅读全文
posted @ 2020-07-07 13:57 limil 阅读(220) 评论(0) 推荐(0)
摘要:Description 思路 cf题解中合法的x的处于一段连续区间不太明白。在知道这个前提下,将E1的代码改成二分即可。 有空再补回来。 #include <iostream> #include <cstdio> #include <queue> #include <algorithm> #incl 阅读全文
posted @ 2020-07-04 17:48 limil 阅读(216) 评论(0) 推荐(0)