tg 90 solution

T1

其实不用管那个傻逼整除
那个东西如果当前大于根号就直接等到根号
否则直接按当前边权过
还有边权这个东西它不是单谷的
所以暴扫可能提前结束
还有,三分好像是假的

不知道我是在什么样的精神状态下写的暴扫

T2

对每条边端点分情况讨论

1.u,v本来在同一个强连通分量,翻转(u,v)后不在了
这个时候要求v能到u并且(u,v)这条边是uv的必经边
此时,强连通分量数目+1,因此询问这条边答案是diff

2.u,v本来不在同一个强连通分量,翻转(u,v)后就在了
这个时候要求v到不了u并且(u,v)这条边不是uv的必经边
此时,强连通分量数目1,因此询问这条边答案是diff

3.u,v本来不在同一个强连通分量,翻转(u,v)后还是不在
这个时候要求v到不了u并且(u,v)这条边是uv的必经边
此时,强连通分量数目不变,因此询问这条边答案是same

4.u,v本来在同一个强连通分量,翻转(u,v)后还是在
这个时候要求v能到u并且(u,v)这条边不是uv的必经边
此时,强连通分量数目不变,因此询问这条边答案是same

于是我们只需要讨论
1.v能不能到u
2.(u,v)是不是uv的必经路径

1.的话显然可以每个点搜一遍预处理出来,
2.的话其实和做无向图染色是差不多的

T3

fi表示m个数都在[1,i]范围选,并且gcd(a1,a2,...,am)=1的方案数
则答案ans=x=1nfnxi=1nj=1n[gcd(i,j)=x]

考虑先对fi做递推
fi=imj=2ifij
稍微解释一下
fij,事实上就是我们在[1,i]范围选,让gcd(a1,a2,...,am)=j时候的方案数
因为每个方案都是本质不同的排列,并且最后有gcd(a1,a2,...,am)=1成立
我们考虑这个时候对每个元素都乘上i并且不超过值域,即为让gcd(a1,a2,...,am)=j时候的方案数
这个时候要求每个数都是j的整倍数并且值域不能过i
所以每个元素的上界都是jij
然后对于每个元素都除一个j就是ij
不减掉1那一块的原因就不说了吧?

然后再处理后面那个i=1nj=1n[gcd(i,j)=x]
这个很好搞啊?
如果学过莫比乌斯反演,这种东西一眼d=1n/xμ(d)ndx2
但是到这里以后没推明白
换成欧拉函数就是仪仗队,然后直接2d=1n/xφ(d)1
放一块就是
d=1nfnd(2d=1n/xφ(d)1)

但是我们要过n=109,杜教筛
发现f长得就像杜教筛的那个式子,直接筛了
然后φ数论函数,凑个1换成id直接筛就完了
最后外边套个整除分块就做完了

T4

鸽了

posted @   2K22  阅读(11)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示