
并查集
CHN_JZ
爆0 forever
展开
-
[并查集]BZOJ 1050——[HAOI2006]旅行comf
1050: [HAOI2006]旅行comf题目描述给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBLE”,否则输出这个比值,如果需要,表示成一个既约分数。 备注: 两个顶点之间可能有多条路径。解题思路非常水的题目,为什么我原创 2017-06-30 13:44:30 · 2242 阅读 · 2 评论 -
BZOJ 1015 [JSOI2008]星球大战——并查集+离线处理
1015: [JSOI2008]星球大战starwar题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被原创 2017-04-16 19:38:42 · 646 阅读 · 1 评论 -
[并查集]51 Nod 1525——重组公司
题目梗概普通的并查集问题?多了一种区间合并的操作。解题思路还是很水。维护每个点前面最近的没合并的节点是谁就可以了。#include<cstdio> using namespace std; char nc(){ static char buf[100000],*l=buf,*r=buf; if (l==r) r=(l=buf)+fread(buf,1,100000,stdin);原创 2017-10-18 19:13:57 · 658 阅读 · 0 评论 -
[分块+并查集按秩合并]#519. 「LibreOJ β Round #2」数学上来先打表
题目梗概给你一个图,每个点有点权,最开始没有边。有一些操作: 添加一条 x 与 y 之间的双向边。 回到第 x 次操作后的状态。(注意这里的 x 可以是 0,即回到初始状态) 查询 x 所在联通块能到的点中点权第 y 小的值,如果不存在,那么输出 −1。 解题思路对于第2个操作,将询问建成树后DFS。对于第3个操作,对于每个联通块分块维护前缀和,对于当前块暴力查询一个点是否出现。在建边时,需要按秩合原创 2017-10-11 21:42:39 · 1338 阅读 · 0 评论