HackerRank Definite Random Walks 题解
作者:互联网
HackerRank Definite Random Walks 题解
首先图的样子是一个根向树+一条反向的返祖边。
对于环上的点,所有经过环上的边到达它的点都可以规约到只走一边环上的边。
钦定一个环上的点为root。
然后处理出每一个深度的点的数量。
这样可以算出所有经过一段环上的边的贡献。(大概就是将概率生产函数的反串和深度生产函数做卷积就好了)
然后考虑树的贡献。
对dfs序列分块,然后预处理每一块的卷积结果就好了!
另块大小为\(O(\sqrt{N\log N})\),时间复杂度为\(O(N\cdot \sqrt{N\log N})\)。
标签:环上,HackerRank,题解,Random,Definite,sqrt,log 来源: https://www.cnblogs.com/gary-2005/p/14405528.html