这是本文档旧的修订版!
无
无
无
无
无
给出两个数 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)$
Tag:组合数学
Asterism 来源:codeforces
题意数学化表述:
给定一个长度为n的数列a,对于n的任意全排列P构成的集合A,计f(x) = 集合A中满足P[i] + x + i>= a[i]的元素P的个数。
给定质数p,2≤p≤n≤10^5。求所有不满足p | f(x) 的x。