摘要: 原来觉得是一个LCT,感觉自己瞬间傻掉…… 考虑到先做一个最小生成树求出做最小生成树的代价$ans$,顺便标记一下树边和非树边,把边按照输入$id$排序回去之后扫,如果扫到一条树边,那么此时的答案就是$ans$,如果扫到一条非树边,那么相当于一条边强制连上之后再切去环里的一条边使这个基环树重新变成一 阅读全文
posted @ 2018-08-24 18:48 CzxingcHen 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 外国人的数据结构题真耿直 唯一有难度的操作就是区间取模,然而这个东西可以暴力弄一下,因为一个数$x$被取模不会超过$logn$次。 证明如下(假设$x Mod y$): 如果$y \leq \frac{x}{2}$那么$x$取模之后会小于$\frac{x}{2}$,而如果$y > \frac{x}{ 阅读全文
posted @ 2018-08-24 15:02 CzxingcHen 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 不爽。 为什么tarjan能爆栈啊 十分显然的缩点,给缩点之后的点连上权值为后一个点集权值的有向边,然后spfa跑最长路。 注意一开始$dis_{st}$应该等于$st$这个集合的权值。 时间复杂度$O(能过)$。 非递归版的tarjan可以学习一下。 Code: #include <cstdio> 阅读全文
posted @ 2018-08-24 14:14 CzxingcHen 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 推荐博客: http://www.cnblogs.com/Mychael/p/9257242.html 感觉还挺好玩的 首先考虑以1为根,把每一个点子树的权值和都算出来,记为$val_{i}$,那么在所有操作都没有开始的时候(以$1$为根的)$ans_{1} = \sum_{i= 1}^{n}val 阅读全文
posted @ 2018-08-24 12:01 CzxingcHen 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 感觉好无聊。 秦九昭算法:一般地,一元n次多项式的求值需要经过(n+1)*n/2次乘法和n次加法,而秦九韶算法只需要n次乘法和n次加法。在人工计算时,一次大大简化了运算过程。(百度百科) 具体来说怎么做呢? $f(x) = \sum_{i = 0}^{n}a_{i}*x^{i} = (((a_{n} 阅读全文
posted @ 2018-08-24 07:10 CzxingcHen 阅读(167) 评论(0) 推荐(0) 编辑