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\)