2018 区域赛前训练

BZOJ

bzoj1031 [JSOI2007]字符加密Cipher

倍长后求 sa,遍历 sa,输出小于等于 n 的各个后缀第 n 个位置的字符

bzoj5301 [Cqoi2018]九连环

莫队

bzoj5313 新Fib数列

F [ n ] F[n] F[n] p m p^m pm的最小循环节长度为 G ( p ) ∗ p m − 1 G(p)*p^{m-1} G(p)pm1,其中 G ( p ) 为 F [ n ] G(p)为F[n] G(p)F[n]模素数 p p p的最小循环节长度。如果 5 5 5是模 p p p的二次剩余,那么循环节的长度是 p − 1 p-1 p1的因子,否则,循环节的长度是 2 ( p + 1 ) 2(p+1) 2(p+1)的因子。
由此可知该题的循环节为 20,打表即可。

bzoj5334 [Tjoi2018]数学计算

线段树维护区间乘积

bzoj5358 [Lydsy1805月赛]口算训练

首先将询问拆成 [1,l] 和 [1,r] 。将 d 分解质因数,因此我们需要计算前缀 [1,x] 中每个质数的出现次数。因为可以离线搞,所以直接扫一遍就行了。

bzoj5387 [Lydsy1806月赛]质数拆分

折半暴力

bzoj5442 [Ceoi2018]Global warming

考虑转换问题,对于一个区间 [l,r] 的增加,等价于对 [l,n]的增加。对于一个区间 [l,r] 的减少,可以等价于对 (r,n] 的增加。因此问题转换为对于一个序列, 可以对 [x,n] 的位置都增加一个值 y,在这种情况下的 LIS 最大值。因此前后分别求一下 LIS 即可。

你可能感兴趣的:(解题报告,日常)