传送门:bzoj bzoj wdnmd为什么加强版不是权限题原题却是啊 3545: [ONTAK2010]Peaks Description 在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q ...
分类:
其他好文 时间:
2019-08-10 21:51:41
阅读次数:
125
题目描述: bzoj3545,luogu bzoj3551 题解: 重构树+线段树合并。 可以算是板子了吧。 代码(强制在线): #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int ...
分类:
其他好文 时间:
2019-05-07 15:30:55
阅读次数:
128
这次我们来搞一个很新奇的知识点:克鲁斯卡尔重构树。它也是一种图,是克鲁斯卡尔算法求最小生成树的升级版首先看下面一个问题:BZOJ3545 Peaks。 在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走 ...
分类:
其他好文 时间:
2017-08-02 20:22:37
阅读次数:
245
Description //【题目描述】同3545 在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰,如 ...
分类:
其他好文 时间:
2017-07-18 00:07:58
阅读次数:
191
题目给n点m边的无向图,有点权和边权 每次询问求点v在经过路径上的边都不超过w的情况下,能到达的第k大的点的权值 首先离线版比较容易想到,属于我现在能码出来的最难的码农题之一吧T T 这道题思路是这样的 1、对于边权的限制条件,可以先想到做一棵最小生成树 2、对于第k大这种询问,可以建权值线段树,但 ...
分类:
其他好文 时间:
2017-01-22 23:43:34
阅读次数:
465
这个题……感觉离线和在线的代码难度差不多(pb_ds不要说话)。 离线的话,就是把所有询问按照w排个序,然后一边Kruskal+平衡树启发式合并一边回答询问就好了。 在线也不难写。首先Kruskal重构树(这个Kruskal重构树是不按秩合并还要添虚点的那种……),那么每个点可以到达的点一定在某个子 ...
分类:
其他好文 时间:
2016-11-12 19:17:23
阅读次数:
333
我直接来讲在线好了这是一个很巧妙的方法,把边作为一个点做一遍最小生成树,当加如一条边时,我们把这条边两点x,y的并查集的根i,j的父亲都设为这条边代表的点k,由k向i,j连边这样我们就构建出一棵树,这棵树的叶子都是原来节点且每棵子树都是在子树根所代表的边的限制下的最小连通块这样我们就可以通过dfs序...
分类:
其他好文 时间:
2015-06-20 18:17:24
阅读次数:
274
题目大意:同3545 强制在线
3545题解传送门:http://blog.csdn.net/popoqqq/article/details/40660953
强制在线没法排序 启发式合并也就用不了了
Kruskal重构树是个挺好玩的东西 可以拿来处理一些最小生成树的边权最值问题
这里我们Kruskal连边时并不直接连边 而是新建一个节点ext 将两个点所在子树都连到ext的儿子上
比如...
分类:
其他好文 时间:
2014-11-21 16:21:43
阅读次数:
252