CF283D
surroundedcity · · 个人记录
link
这是一道非常有趣的题目:
题意: 对于一个序列
我们先考虑对于一组满足要求的数字
所以
即
首先, 要满足
然后, 进行分类讨论
然后,进行
for (int i = 1; i <= n; i++) {
f[i] = i - 1;
for (int j = 1; j < i; j++) {
if (p[j] % p[i] != 0) continue;
if (v[i] == v[j] + i - j || v[i] <= i - j - 1) f[i] = min(f[i], f[j] + i - j - 1);
}
ans = min(ans, f[i] + n - i);
}