2200-2400
CF380C
混了一道 2000
记 ([l,r]) 中未匹配左括号数量为 (s),右括号数量为 (t)。
([l,r]) 中合法括号序列长度为 (r-l+1-s-t)。
考虑维护两个数组 (L[i]),(R[i]),分别表示未匹配的左括号或者右括号的数量。
每段删完后一定剩下形如 )))(((
这样的序列。
CF1366D
打个暴力不难发现当 (a_i=p^k,p in operatorname{P}) 一定是无解的。
那么线性筛出最小质因子,将原数包含的最小质因子去掉即可。
CF86D
莫队即可,修改用完全平方公式展开一下。
CF570D
树上启发式合并。
CF1485D
(operatorname{lcm}(1,2,cdots,16)=720720),那么把矩阵黑白染色,黑色填 (720720),白色填 (720720-a_{i,j}^4)(因为 (720720) 是 (a_{i,j}) 的倍数,(a_{i,j}^4) 是 (a_{i,j}) 的倍数)。