[考试总结]noip模拟8
又是一个题的正解都没有打出来的一天
但是自己独创了 \(lca\) 的求法, 然而如果去掉求 \(lca\) 的过程,就不会 \(TLE\) 了。 \(\huge{\text{囧}}\)
然后就是对性质不是十分熟悉。。。
\(T1\) 的欧拉路我是真的忘干净了,别说什么性质了,提起来只还记得一个一笔画。。。
然后还有就是单调性的误判,然而拿了很多分,但是写了一个错解。。。
超级树上花费了不少时间,然后什么都没有打出来。。。
骗了5分 \(\huge{\text{囧}}\)
对于最后一个题目,自己估计的复杂度为 \(\mathcal O(nm)\)。
然而因为数据过水
过了一批。。。。
然而我的独创 \(lca\) 求法还是 \(TLE\) 了
所以对于这批数据,不求 \(lca\) 才是最快的解法。。。。
T1
这道题目其实就是考察欧拉路,欧拉路的很多很多性质记住之后就能秒掉这个题目。。。
题目的要求其实就是 把每条边加倍,然后将这个图变成欧拉路就行了
然后就是不太难的排列组合问题
考虑几个情况。
- 去掉两个自环。
- 去掉一个自环和一条边。
- 去掉两个相连的边。
然后就是判断这个图是否是 边联通图。。。
这个图和点联通图不是很一样,即使点不全部联通这个图也可能是边联通图
所以可以考虑从一个度不为 \(0\) 的点开始拓扑,然后如果发现有的点没有到过并且存在度或者是存在自环,那么就可以输出 \(0\) 走人了。
对于排列:
T2
其实式子很简单,就是数列分块的思想。。
然后就可以在线性再乘上根号的复杂度去搞了。
T3
我是真想不出来。。。
就是用 \(f_{i,j}\) , \(i\) 是深度 ,\(j\) 是枚举的 \(l\) \(r\) 边的个数。。。。
方程五个就不放了。。。
T4
先预处理出来所要的值。
然后对于没一个询问向上爬取。
先使两个点深度相同。
然后再一起向上爬取。。。
就这。。。
然而这并不是正解。。。
正解还是要 \(lca\) 的,然后向上处理前缀和。
差分也行。。。
复杂度稳定。。。