LOJ#508. 「LibreOJ NOI Round #1」失控的未来交通工具

sol.

subtask 1:考虑n很小,可以开个三维,\(O(松)\)做掉

subtask 2:考虑变成\(相应路径 路径和\ mod\ 2\ =\ f_i\)存在--问题,只要路上存在一个奇环,任意情况都可以满足,如果不存在,只能看路径长度

subtask 3:考虑m为质数,考虑剩余系一类的东西,可以很自然的推导出,只要存在一个环,路径长度不为0,那么任意情况都可以实现

subtask 4:考虑图中任何时刻都不会出现简单环,所以此时两点之间只有一条路径简单用倍增lca处理即可

subtask 5:

subtask 6:考虑原图任意点 \(deg <= 2\),每个点要么在一个环内,要么就是一条链,就直接处理就好了(在环内 解一个exgcd就好了)

正解:

对于m为奇数:

可以循环走, 对于一条边 \((u,v,w)\),可以产生若干 \(w * (2k + 1)\)的贡献,

实际上为(w,m) * (2 * k) + 1 的贡献, 最后的边集 产生的贡献即为\(((w_1,m),(w_2,m),...,(w_n,m))\)

直接判断 一下gcd就好了

对于任意环,

不妨从起点出发,再走回起点m次,就可以消除影响

因此只用考虑所有环的gcd即可,剩下的可以自己选一条边

posted @ 2021-11-23 19:56  After_rain  阅读(79)  评论(0)    收藏  举报