ICode9

精准搜索请尝试: 精确搜索
  • dsu on tree 学习笔记2019-11-21 15:02:03

    dsu on tree,树上启发式合并,和dsu并查集没有什么太大关系。是一种用于解决一类树上无修改可离线子树信息统计询问问题的技巧,优点是常数较小,代码复杂度低,实现较快。 思考一下有根子树信息统计类问题,我们想到的最暴力的想法就是dfs,但是当数据范围达到$10^5$量级时,dfs的时间复杂度显然

  • 【UOJ388】配对树(dsu on tree+线段树)2019-11-16 19:50:56

    传送门 题意: 给出一颗含有\(n\)个结点的无根树,之后给出一个长度为\(m\)的序列,每个元素在\([1,n]\)之间。 现在序列中每个长度为偶数的区间的完成时间定义为树上最小配对方法中每对匹配点间距离的总和。 现在要求所有长度为偶数的区间的完成时间的和。 思路: 首先不妨将这颗树转化

  • 总结-DSU ON TREE(树上启发式合并)2019-11-07 17:01:22

    考试遇到一道题: 有一棵n个点的有根树,每个点有一个颜色,每次询问给定一个点\(u\)和一个数\(k\),询问\(u\)子是多少个不同颜色节点的\(k\)级祖先。n<=500000。 显然对每一层建主席树可行,但还有更优雅的一种做法——\(DSU\) 所谓\(DSU\),是一类处理子树信息的问题的通解(\(O(n\log n\)

  • 安全路径——最短路径树+dsu缩边2019-09-21 18:01:22

    题目描述   思路 首先想到$dijkstra$跑完之后$build$一棵最短路径树。要找到每个节点i到根的满足要求的最短路,考虑把一些非树边加进去。 对于非树边$(u,v)$,因为节点i上方的边被占领,所以只能选择往下走,从非树边走到别的子树,设$u$属于$i$的子树,$v$不属于,那么$u,v$的$lca$经过$i$,且

  • 树上启发式合并与dsu on tree2019-09-13 11:39:06

    题目链接:https://codeforc.es/contest/600/problem/E 题目大意:给一颗以1为根的树,共n个点。点有颜色,颜色从1-n编号。问每颗子树中出现次数最多的颜色 的编号之和。 启发式合并做法: #include<bits/stdc++.h> #include<ext/pb_ds/assoc_container.hpp> #include<ext

  • 题解 | Checkers-2019牛客暑期多校训练营第九场G题2019-09-07 16:36:37

    题目来源于牛客竞赛:https://ac.nowcoder.com/acm/contest/discuss 题目描述: 输入描述: 输出描述: 示例1: 题解: 代码: #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace

  • Codeforces 600E Lomsat gelral(dsu on tree树上启发式合并)2019-07-25 21:57:27

    题意 给一颗有根树,节点有颜色,求每个点子树内出现次数最多的颜色的权值(有多个就是权值和)。 1 ≤ n ≤ 105  1 ≤ ci ≤ n 权值 题解 考虑暴力的做法,对于每个节点直接遍历,将颜色放入桶,统计答案。这样复杂度是n2的。 怎么去优化呢?可以看到每次遍历完一棵子树,我们都是把桶清

  • 【Luogu U41492】树上数颜色——树上启发式合并(dsu on tree)2019-07-20 20:02:41

    (这题在洛谷主站居然搜不到……还是在百度上偶然看到的) 题目描述 给一棵根为1的树,每次询问子树颜色种类数 输入输出格式 输入格式: 第一行一个整数n,表示树的结点数 接下来n-1行,每行一条边 接下来一行n个数,表示每个结点的颜色c[i] 接下来一个数m,表示询问数 接下来m行表示询问的子树

  • Educational Codeforces Round 2 E. Lomsat gelral(dsu)2019-07-03 16:44:01

    题目链接 题意:给你一棵以1为根n个点的树,问你以i为根的子树的众数和是多少 思路:dsu是一种优化暴力的手段 首先进行轻重链剖分 然后只记录重链的信息 轻链的信息就直接暴力查找 经过证明这样复杂度可以是nlogn。 #include<bits/stdc++.h>#define ll long long intusing namesp

  • dsu on tree简要讲解2019-03-10 11:37:32

    这种不怎么难写的东西,我学得快忘得也快,也是给自己加深印象,同时留个自己(大概)能看懂的讲解好复习……qwq 先说是什么 dsu on tree中的dsu就是Disjoint Set Union,虽然整个算法跟并茶几(话说并茶几名字好多啊……)没有任何关系……硬要说就是借用了启发式合并的思想吧…… 这个算法是拿来

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有