摘要:
前两项为 $1$ 的斐波那契数列有一个性质 $f_{n + m} = f_{n+1}f_m + f_n f_{m 1}$ 通过拆成两个矩阵的乘积或者数学归纳法就可以得到 这里给每个位置加上 $f_{x l+1}$ $n=x,m=1 l$ 则相当于给每个位置加上 $f_{x+1}f_{1 l}+f_{ 阅读全文
摘要:
曼哈顿距离转切比雪夫距离 把坐标变为 $(x+y,x y)$ 之后,求两点之间距离即为 $\max(|x_1 x_2|,|y_1 y_2|)$ 之后再通过扫描线,平衡树维护 $y$ 坐标,每次将前驱后继进行合并 阅读全文
摘要:
可以发现答案不大于 $n$,因为如果都是奇数可以让它们都变成偶数 如果我们假定了一个 $\gcd$,我们就可以线性得到答案,每个数向上或者向下移动到 $\gcd$ 的倍数位置 因为答案不大于 $n$,那么就有至少有 $\lceil \frac{n}{2} \rceil$ 个数操作次数不大于 $1$ 阅读全文
摘要:
首先建出虚树 然后就相当于多源最短路,权值为第一关键字轮数和第二关键字下标 然后dijkstra即可 建虚树过程是在维护右链,注意要把所有用到的点都初始化一遍。 阅读全文
摘要:
可以发现一个 $0$ 移动之后奇偶性不变 而如果出现连续 $0$ 则它们俩的奇偶性不能发生改变 那么本质就是查询区间内有多少个 $0$ 以及它们的奇偶性 根据奇偶性进行哈希即可 阅读全文
摘要:
最坏情况下每次得到的答案都是 $1$ 而每次猜一个数都相当于筛去一部分质数 那就是把 $1$ 到 $n$ 之间的质因数分组,每一组里乘积都小于等于 $n$ 求最小组数 这个用双指针,为每个大质数分配若干个小质数即可 阅读全文