tg 90 solution
T1
其实不用管那个傻逼整除
那个东西如果当前大于根号就直接等到根号
否则直接按当前边权过
还有边权这个东西它不是单谷的
所以暴扫可能提前结束
还有,三分好像是假的
不知道我是在什么样的精神状态下写的暴扫
T2
对每条边端点分情况讨论
\(1.u,v\)本来在同一个强连通分量,翻转\((u,v)\)后不在了
这个时候要求\(v\)能到\(u\)并且\((u,v)\)这条边是\(u\to v\)的必经边
此时,强连通分量数目\(+1,\)因此询问这条边答案是diff
\(2.u,v\)本来不在同一个强连通分量,翻转\((u,v)\)后就在了
这个时候要求\(v\)到不了\(u\)并且\((u,v)\)这条边不是\(u\to v\)的必经边
此时,强连通分量数目\(-1,\)因此询问这条边答案是diff
\(3.u,v\)本来不在同一个强连通分量,翻转\((u,v)\)后还是不在
这个时候要求\(v\)到不了\(u\)并且\((u,v)\)这条边是\(u\to v\)的必经边
此时,强连通分量数目不变,因此询问这条边答案是same
\(4.u,v\)本来在同一个强连通分量,翻转\((u,v)\)后还是在
这个时候要求\(v\)能到\(u\)并且\((u,v)\)这条边不是\(u\to v\)的必经边
此时,强连通分量数目不变,因此询问这条边答案是same
于是我们只需要讨论
\(1.v\)能不能到\(u\)
\(2.(u,v)\)是不是\(u\to v\)的必经路径
\(1.\)的话显然可以每个点搜一遍预处理出来,
\(2.\)的话其实和做无向图染色是差不多的
T3
设\(f_i\)表示\(m\)个数都在\([1,i]\)范围选,并且\(gcd(a_1,a_2,...,a_m)=1\)的方案数
则答案\(ans=\sum\limits^{n}_ {x=1}f_{\lfloor\frac{n}{x}\rfloor}\sum\limits^{n}_ {i=1}\sum\limits^{n}_ {j=1}[gcd(i,j)=x]\)
考虑先对\(f_i\)做递推
\(f_i=i^m-\sum\limits_{j=2}^{i} f_{\lfloor\frac{i}{j}\rfloor}\)
稍微解释一下
\(f_{\lfloor\frac{i}{j}\rfloor}\),事实上就是我们在\([1,i]\)范围选,让\(gcd(a_1,a_2,...,a_m)=j\)时候的方案数
因为每个方案都是本质不同的排列,并且最后有\(gcd(a_1,a_2,...,a_m)=1\)成立
我们考虑这个时候对每个元素都乘上\(i\)并且不超过值域,即为让\(gcd(a_1,a_2,...,a_m)=j\)时候的方案数
这个时候要求每个数都是\(j\)的整倍数并且值域不能过\(i\),
所以每个元素的上界都是\(j\cdot \lfloor\frac{i}{j}\rfloor\)
然后对于每个元素都除一个\(j\)就是\(\lfloor\frac{i}{j}\rfloor\)
不减掉\(1\)那一块的原因就不说了吧?
然后再处理后面那个\(\sum\limits^{n}_ {i=1}\sum\limits^{n}_ {j=1}[gcd(i,j)=x]\)
这个很好搞啊?
如果学过莫比乌斯反演,这种东西一眼\(\sum\limits^{n/x}_ {d=1}\mu(d)\lfloor\frac{n}{dx}\rfloor^2\)
但是到这里以后没推明白
换成欧拉函数就是仪仗队,然后直接\(2\cdot \sum\limits^{n/x}_ {d=1}\varphi(d)-1\)
放一块就是
\(\sum\limits^{n}_ {d=1}f_{\lfloor\frac{n}{d}\rfloor}\cdot (2\cdot \sum\limits^{n/x}_ {d=1}\varphi(d)-1)\)
但是我们要过\(n=10^9,\)杜教筛
发现\(f\)长得就像杜教筛的那个式子,直接筛了
然后\(\varphi\)数论函数,凑个\(1\)换成\(id\)直接筛就完了
最后外边套个整除分块就做完了
T4
鸽了