随笔分类 - 图论-Tarjan算法
摘要:题目描述 在一条直线上有 \(n\) 个炸弹,每个炸弹的坐标是 \(x_i\) ,爆炸半径是 $r_i$,当一个炸弹爆炸时,如果另一个炸弹所在位置 $x_j$ 满足: \(|x_j-x_i| \le r_i\) ,那么,该炸弹也会被引爆。 现在,请你帮忙计算一下,先把第 \(i\) 个炸弹
阅读全文
摘要:题目描述 分析 先放一张图便于理解 这一道题如果暴力建图会被卡成$n^{2}$ 实际上,在我们暴力建图的时候,有很多边都是重复的 假如一行当中有许多横天门的话,我们就不必要把这一行当中的所有点和每一个横天门都连上一条边 因为横天门之间是相互联通的,无论我们走到哪一个横天门,都可以走到同一行的另一个横
阅读全文
摘要:题目描述 分析 一开始看到这道题,首先想到的就是建好边后跑一个Tarjan缩点,将siz大于1的节点统计一下,输出结果 Tarjan非常显然易得,关键就是怎么建边 比较好想的一种思路就是枚举每一个兴奋程度 对于每一个兴奋程度,再将有趣程度枚举一遍 如果有趣程度是兴奋程度的倍数的话,在两个节点之间建一
阅读全文
摘要:题目描述 City C is really a nightmare of all drivers for its traffic jams. To solve the traffic problem, the mayor plans to build a RTQS (Real Time Query
阅读全文
摘要:Electricity POJ - 2117 题目描述 Blackouts and Dark Nights (also known as ACM++) is a company that provides electricity. The company owns several power pla
阅读全文
摘要://Tarjan求割点 void tarjan(int now,int fa){ int num=0; low[now]=dfn[now]=++dfnc; for(int i=head[now];i!=-1;i=b[i].next){ int u=b[i].to; if(!dfn[u]){ tarj
阅读全文
摘要:题目描述 Caocao was defeated by Zhuge Liang and Zhou Yu in the battle of Chibi. But he wouldn't give up. Caocao's army still was not good at water battles
阅读全文
摘要://Tarjan求桥 void tarjan(int now,int id){ dfn[now]=low[now]=++dfnc; for(int i=head[now];i!=-1;i=b[i].next){ if(i==(id^1)) continue; int u=b[i].to; if(!d
阅读全文
摘要://Tarjan求强连通分量 void tarjan(int now){ dfn[now]=low[now]=++dfnc; sta[++top]=now; for(int i=head[now];i!=-1;i=b[i].next){ int u=b[i].to; if(!dfn[u]){ tar
阅读全文

浙公网安备 33010602011771号