51nod 1610 路径计数(数论+容斥+拓扑+Floyd)

分析:gcd的问题可以考虑用容斥原理做,注意到y<=100,只需要枚举不超过100的数k,算出图中有多少条边权是k的倍数的路径,然后容斥一下即可。关键在于怎么算路径条数。 可以考虑用dp,记dp[i][j][k]为从i到j路径值为k倍数的路径数,dp[i][j][k]=∑dp[c][j][k],c满足存在从i到c的边且边权为k的倍数。为了快速处理dp,先预处理出拓扑序和不超过100的数的因子以及各
相关文章
相关标签/搜索