11.15考试

T1
树剖+线段树;
线段树取模维护两个值,最大值和区间和;
T2
容斥原理;
设x的质因数集合为{2,3,4};
{s} 表示有因数s的数的个数;
那么,与x互质的数为{1}-{2}-{3}-{4}+{2,3}+{2,4}+{3,4}-{2,3,4};
T3
$f[i] = \displaystyle\sum_{j = 0}^{i}{f[j]+i\over{i+1}} $

先提出一个 \(f[i]+i\) 来,变成:

\(f[i] = \displaystyle {f[i] + i \over i+1} \sum_{j = 0}^{i-1}{f[j] + i\over{i+1}}\)

有点难看,先把所有的 $f[i] $ 都移到一边变成:

\({i\over i+1} f[i] = {i\over {i+1}} + \displaystyle \sum_{j = 0}^{i-1}{f[j] + i\over{i+1}}\)

两边同时乘以 \(i+1\) 可得:

\(if[i] = i + \displaystyle\sum_{j=0}^{i-1} f[j] + i\)

在把里面求和中的 \(i\) 提出来可以变成:

\(if[i] = i(i+1) + \displaystyle\sum_{j=0}^{i-1} f[j]\)

发现不好在继续化简了,这时候我们需要用到一个小技巧,作式相减法。

把 \(i-1\) 带入原式可得:

\((i-1) f[i-1] = i(i-1) \displaystyle\sum_{j=0}^{i-2} f[j]\)

把这两个式子相减可得:

\(if[i] - (i-1)f[i-1] = i(i+1)- i(i-1) + f[i-1]\)

继续化简可得:

\(if[i] - if[i-1] = 2i\)

所以: \(f[i] - f[i-1] = 2\)

综上 \(f[i] = 2i\)

上一篇:CF417D Cunning Gena


下一篇:三对角矩阵的计算