A. Di-visible Confusion
-
题意:给一个长度为 n n n 的序列 a 1 , a 2 , … , a n a_1,a_2,\dots,a_n a1,a2,…,an ,对于每个位置 i i i,如果 a i % ( i + 1 ) ≠ 0 a_i\%\left(i+1\right)\not=0 ai%(i+1)=0 ,就可以将 a i a_i ai 删掉。删掉之后,后面的数都会往前面移动一位。问能否将序列删成空。
-
思路:首先发现性质: a i a_i ai 能被消掉的充要条件是 a i = l c m ( 2 , . . . , i + 1 ) × k a_i=lcm(2,...,i+1) \times k ai=lcm(2,...,i+1)×k , 当 n 大于 25 的时候就必定不满足了,必定可以消掉。前面的暴力枚举即可。对于某个元素,它与它之前的元素能被消掉的条件是递推的(有一点推理的思想)。
-
AC代码:https://codeforces.com/contest/1603/submission/156576614
A. Meximum Array
-
题意:
-
思路:首先 预处理后缀 mex 。因为倒着看 mex 是递增的,因此可以 O ( n ) / O ( n log n ) O(n) / O(n \log n) O(n)/O(nlogn) 预处理 , O ( 1 ) O(1) O(1) 查询。然后从左到右尺取分段删除即可。
-
AC代码:https://codeforces.com/contest/1628/submission/156591183
C. Minimum Ties
-
题意:略。
-
思路:比较简单的图论构造。当 n n n 是偶数时环上对称的点平局即可使分数尽量高。
-
AC代码:https://codeforces.com/contest/1487/submission/156578974
D. Say No to Palindromes
-
题意:定义一个字符串 s s s 是 “好的”,当且仅当 s s s 不包含任何长度大于等于 2 的回文子串。给定一个长度为 n n n 的字符串 S S S 和 m m m 个询问,每次询问给定一个区间 [ l , r ] [l, r] [l,r],求字符串 S l , … , r S_{l, \dots, r} Sl,…,r 变成 “好的” 字符串至少需要修改多少个字符。本题中字符集为前三个字母 ( a b c ) (a b c) (abc)。数据范围 n , m ≤ 200000 n, m \le 200000 n,m≤200000。
-
思路:存在如上的回文子串,则必然存在某下标满足 s i = s i − 1 s_i=s_{i-1} si=si−1 或 s i = s i − 2 s_i=s_{i-2} si=si−2 , 则必然是 a b c abc abc 或 a c b acb acb 或 b a c bac bac … c b a cba cba 之类的循环节,直接暴力 6 个后求前缀和即可。
-
AC代码:https://codeforces.com/contest/1555/submission/156594764
A. Long Beautiful Integer
- 题意:
给定一个由 a 1 , a 2 , … a_1, a_2, \ldots a1,a2,… 从左到右构成的整数 x x x 和一个正整数 k k k。
若由 b 1 , b 2 , … b_1, b_2, \ldots b1,b2,… 从左到右构成的整数满足 ∀ i ∈ [ 1 , m − k ] , b i = b i + k \forall i \in [1,m-k], b_i=b_{i+k} ∀i∈[1,m−k],bi=bi+k ,则称其为美丽数。
请求出最小的由 b 1 , b 2 , … b_1, b_2, \ldots b1,b2,… 从左到右构成的美丽数 y y y,满足 y ≥ x y \geq x y≥x。
-
思路:考虑答案的前 k 位。设 ( b a s e ) n (base)_n (base)n 是 s 的前 k 位即 b a s e base base 作为循环节构成的长度是 n 的数字,答案必然是 ( b a s e ) n (base)_n (base)n 或 ( b a s e + 1 ) n (base+1)_n (base+1)n 。如果 ( b a s e ) n < y (base)_n < y (base)n<y ,则答案就是后者。
-
AC代码:https://codeforces.com/contest/1268/submission/156592593