======Codeforces Round #641 (Div. 2)====== =====A===== *题意:$f(x)$代表$x$的大于$1$最小因子,对$n$进行$k$次操作,每次加上当前的$f$值,询问最后结果 *题解:显然从第二次开始恒为2,只需要求第一次即可 =====B===== *题意:给定一个数列,选出一个子序列权值递增,并且下标成倍增加,输出子序列最长长度 *题解:从$1$开始按倍数记录即可 =====C===== *题意:求给定数列中所有二元组的$lcm$的$gcd$ *题解:对于$a1$,可以得知其产生的$lcm$为${lcm(a1,a2),lcm(a1,a3),,,lcm(a1,an)}$,则其产生的$gcd$就可以化简为$lcm(a1,gcd(a2,a3,,,an))$,所以维护一个后缀去求所有项产生$gcd$的$gcd$即可 =====D===== *题意:给定一个数列,每次选定一个区间,将区间的数变为该区间的中位数(偶数去下标较小者),询问能否都刷成$k$ *题解:显然没$k$必然不行,有$k$的话就找是否有相邻或者间隔为$1$的两个数$\geq k$