这是本文档旧的修订版!
无
无
无
无
无
给出两个数 A 和 B($1\le A, B \le 10^{16}$),可以对 A 进行若干次操作,每次操作类型如下:
最后目标是要把 A 变为 B,问最小代价是多少。
复习后缀数组
给定一个括号串,问有多少种不同的合法括号子串,n⇐5e5
题解:将左括号看作1,右括号看作-1,处理出一个前缀和。下面求每个位置开头的合法子串个数,即对于每一个i,求出多少$i<j<n,s.t. s_j=s_{i-1},i < = k< =j,s_k>=s_{i-1}$
先处理出每种前缀和的所有位置,并通过RMQ维护区间最小值,然后在之前处理出的位置数组中二分判断最大可选的j在哪个位置。
求出height,然后j的范围就是$sa_i + height_i + 1 < = j< =n$ 复杂度$O(nlogn)$
无