感觉很长时间没写过题解了,不过我这种彩笔也就写写签到了这场总体感觉偏难,而且区分度有点低?四道签到(A,M,F,L)两道中档(C,E),剩下的感觉都very hard(这是能说的吗)关于G:关键字:二分,整除分块第一眼看过去就知道肯定是整除分块,对于每个块,我们可以将其看作一段长为等差数列。我们定义一个分块为Block: struct Block { int a, b, q; }; // [a,b]除数区间,对应商为q 其中[a,b]为除数区间,对于任意i属于[a,b],有;此时我们知道,对于任意i属于[a,b],n%i的值构成一个等差数列,此时区间内的最大余数为n mod a,即n-q*a。...