图论
Aby_Lightman
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
3086 区域发展
Task 1-n个人,等级从高到低,属于1-m地,除了1外每个人都有个直接导师,等级都比它高。q个询问,A,B(地区),输出有多少关系x∈A,y∈B,x是y的导师。 x是y的导师:当且仅当x是y的直接导师或是x是y的直接导师的导师。 N<=2e5,m<=25000,q<=2e5Solution 分块决策 树:如果把i和i的直接导师连边,就构成一棵树。因为除了1外每个i都有一个父亲节点,而且原创 2016-11-10 13:54:34 · 365 阅读 · 0 评论 -
3129 树
3129 树 Task 给定根为1,n个节点的树。有2种操作: ① 对x节点打标记 ② 询问x最新一个打了标记的祖先 N,Q<=1e5 1在初始时已被标记。Solution 暴力出奇迹 暴力一:O(1)打标记,一步步往上走,找到第一个打标记的祖先,只花了32MS。 暴力二:O(1)询问,打标记时dfs子树更新答案+剪枝:遇到某个子树已经打了标记,就不往下走了。并查集 由原创 2016-11-11 20:43:38 · 314 阅读 · 0 评论 -
2018 有志气博士来种草
Task N节点的树,m个操作分2种: ① (x,y)路径上的各边的值+1 ② 询问边(x,y)的值。Solution 方法一:树链剖分 树链剖分使用于树上的区间更新或者区间询问,把链重新编号,加入线段树中。方法二:刷漆法 问题属于区间更新,单点求值。 如果在序列上,可以用刷漆法+前缀和得到每个点的权值。 在树上可以转化成两段区间,即(x,lca),(y,lca)同样的左端原创 2016-11-11 22:33:27 · 420 阅读 · 0 评论 -
1727 洪水拯救计划
Task 一棵n个节点的树,给定K个点。 求从每个节点(1到n)出发,确定一个遍历顺序,使得遍历完K个点不返回原点的最小距离。 N<=5e5,K<=n,边权<=1e6Solution 普遍化问题: ① 给定一棵树,从根出发,要求遍历每个叶子节点,最后回到根,求最小距离?距离由每条边贡献,用反证法证明每条边至少遍历2次(一上一下)。 最小距离=2*边权总和。② 给定一棵树,从根出发原创 2016-11-12 22:14:15 · 428 阅读 · 0 评论 -
3013 毕加猪
TaskTask 给定一个图,判断A到B的路径上是否存在负环。SolutionSolution 强连通的好处:把图缩点成DAG(有向无环图),用Bellma¬¬_ford算法判断负点,负点所在的强连通分量一定存在负环。 问题转化为:在DAG上,询问A的强联通分量到B的强连通分量的路径上是否存在负强连通分量,等价于询问a点到b到的唯一路径上,是否存在c点,用dfs实现。原创 2016-11-14 22:21:08 · 439 阅读 · 0 评论
分享