摘要:更多关于我的看 "这里" 经过一段时间的~~颓颓颓~~ 攻坚克难,博主的Hexo的博客已经搭建完成了! 现在已经买了域名啦!目前在 "SGColin's Space" 。欢迎来玩。 阅读全文
posted @ 2018-12-02 10:59 SGCollin 阅读 (174) 评论 (0) 编辑
摘要:Description "题目链接" 求一张无向带权图的边双连通生成子图的最小代价。 Solution 核心的思路是,一个点双连通分量肯定是一堆环的并。 考虑增量地构造这个边双连通图,每次把一个环并进去,相当于加入了一条链。 那么这个转移需要:原集合的代价,链的代价,链的端点连入集合的代价。 设 $ 阅读全文
posted @ 2019-03-29 11:32 SGCollin 阅读 (73) 评论 (0) 编辑
摘要:Description "题目链接" Solution 因为一个节点染黑了子树就都被染黑了,所以最后染黑的点集必然是一棵子树。 可以得出的结论是,如果被染黑的节点在节点 $a$ 的子树中,而 $a$ 没有被染黑,那么 $a$ 的任意次祖先都不会被染黑。 从另一个角度理解就是,染黑的节点在 $a$ 子 阅读全文
posted @ 2019-03-29 11:30 SGCollin 阅读 (31) 评论 (0) 编辑
摘要:Description "题目链接" 定义一次点分治的复杂度是所有分治中心分治时的子树大小之和。 给定一棵树,问所有点等概率被选做重心,点分治的期望复杂度。 Solution 根据期望的线性性,答案等价于每个点在点分树上的深度期望之和。 思路是从点对的角度考虑某一个点是否会产生贡献。 $$ E(de 阅读全文
posted @ 2019-03-26 07:44 SGCollin 阅读 (27) 评论 (0) 编辑
摘要:写在前面 为了体现简洁,在每一部分只会放关键代码。 代码具有一定的通用性,保证代码之间函数的调用是合法的。 如果 MathJax 加载不出来或加载有误,请您多刷新几次。 总结可能会比较长,可以点右边的小火箭回到目录。 有什么问题请联系我,万分感谢。 参考资料 Picks 的博客 "Picks's B 阅读全文
posted @ 2019-03-02 11:33 SGCollin 阅读 (99) 评论 (0) 编辑
摘要:转自 "BlackJack_" C++ include using namespace std; namespace io { const int SIZE = (1 inline void gi (I &x) { for (f = 1, c = gc(); c '9'; c = gc()) if 阅读全文
posted @ 2019-01-15 11:58 SGCollin 阅读 (62) 评论 (0) 编辑
摘要:更多关于我的看 "这里" 经过一段时间的~~颓颓颓~~ 攻坚克难,博主的Hexo的博客已经搭建完成了! 现在已经买了域名啦!目前在 "SGColin's Space" 。欢迎来玩。 阅读全文
posted @ 2018-12-02 10:59 SGCollin 阅读 (174) 评论 (0) 编辑
摘要:$\\$ "Description" 给出一颗树,开始只有 $1$ 号节点有标记。 + $\ C\ x$ 对 $x$ 号节点打标记 + $\ Q\ x$ 查询 $x$ 号节点深度最深的有标记的祖先 $\\$ Solution + 链剖做法: 查询直到跳到第一个有权的重链上,线段树上二分即可。太板了不 阅读全文
posted @ 2018-11-22 17:02 SGCollin 阅读 (47) 评论 (0) 编辑
摘要:$\\$ "Description" 给出一个长为 $n$ 的数列 $A$ 和 $k$,多次询问: 对于一个区间 $[L_i,R_i]$,问区间内有多少个数在 $[a_i,b_i]$ 内,以及这些数共有多少个不同的值。 + $n\le 10^5,m\le 10^6$ "By wangyisong19 阅读全文
posted @ 2018-11-21 15:41 SGCollin 阅读 (42) 评论 (0) 编辑
摘要:$\\$ "Description" 给出一个长为 $n$ 的数列 $A$ 和 $k$,多次询问: 对于一个区间 $[L_i,R_i]$,问区间内有多少个不为空的子段异或和为 $k$ 。 + $n,m,k,A_i\le 10^5$ $\\$ Solution 注意到一件有趣的事,就是每次询问的 $k 阅读全文
posted @ 2018-11-21 12:01 SGCollin 阅读 (54) 评论 (0) 编辑
摘要:$\\$ "Description" ~~原题题面太过混乱出题人语文凉凉~~ 给出一个长为 $n$ 的数列 $A$ ,多次询问: 对于一个区间 $[L_i,R_i]$,把区间内的所有数最少划分成多少个数集,使得每一个集合内没有相同元素。 + $A_i\le 10^9,n,m\le 2\times 1 阅读全文
posted @ 2018-11-21 10:20 SGCollin 阅读 (39) 评论 (0) 编辑