首页 > TAG信息列表 > ZJOI2004

题解 P5058 [ZJOI2004]嗅探器

一道 \(tarjan\) 题 蓝军共有两个信息中心,红军计划在某台中间服务器上安装一个嗅探器,从而能够侦听到两个信息中心互相交换的所有信息。 也就是说,\(a\) 到 \(b\) 的所有路径必须经过 那个中间服务器。 -----> 如果删去那个中间服务器,\(a\) 与 \(b\) 不联通。 -----> 那个中间服务

luogu P5058 [ZJOI2004]嗅探器 割点

#include <cstring> #include <iostream> #include <algorithm> #include <vector> using namespace std; typedef unsigned long long ULL; const int N = 5e5+10, M = 5e5+10; int n, m; int h[N], e[M], ne[M], idx; int dfn[N], low[N], timestam

P5058 [ZJOI2004]嗅探器 割点

  一开始看到它的时候,想都没想直接CV了割点的模板。结果是这样的: 再次读题,发现是只用找u->v路径上的最小割点,改一下就A了 AC代码: #include<bits/stdc++.h>using namespace std;const int maxn=1e6+7;struct node{ int nxt; int to;}edge[2*maxn];int head[maxn],cnt,tot

[ZJOI2004]嗅探器

[Time Gate] https://www.luogu.org/problemnew/show/P5058 【解题思路】 首先非常明显的是,只能把服务器建在割点上,因为只有这样,才能捕获到全部的数据。 考虑如何求x,y两点之间的必经的割点。 很明显需要满足4个条件 考虑我们有一个u点,它连了一个v点,那么u点需要满足4个条件。 u不

【ZJOI2004】嗅探器

一道鬼畜的题目,洛谷给的标签是紫题,怎么可能是紫题…… 原本我想找出在起点到终点的路径上的割点,但是看到了这良心的数据之后…… 由于数据很小,所以我们枚举中间点,然后进行一遍dfs,判断不经过这个中间点这张图是否联通即可。 这就能过?? 是的……时间复杂度为O(n2) 1 #include <iost

Luogu5058 [ZJOI2004]嗅探器

\(\verb|Luogu5058 [ZJOI2004]嗅探器|\) 给定一张 \(n\) 个点, \(m\) 条边的无向图,和两点 \(s,\ t\) ,求 \(s\to t\) 编号最小的必经点(排除 \(s,\ t\) ) \(n\leq100\) tarjan 这题数据范围是可以 \(O(n^3)\) 暴力过的…… 显然只需缩点后的树上 \(bl_s\) 到 \(bl_t\) 上找答案,统计

[ZJOI2004]嗅探器

题目概要: 在无向图中寻找出所有的满足下面条件的点:割掉这个点之后,能够使得一开始给定的两个点a和b不连通,割掉的点不能是a或者b。(ZJOI2004) 数据范围约定结点个数N≤100边数M≤N*(N-1)/2 朴素算法: 枚举每个点,删除它,然后判断a和b是否连通,时间复杂度O(NM)如果数据范围扩大,该算法就失

P5058 [ZJOI2004]嗅探器 tarjan割点

这个题是tarjan裸题。最后bfs暴力找联通块就行。(一开始完全写错了竟然得了70分,题意都理解反了。。。这数据强度。。。) 题干: 题目描述某军搞信息对抗实战演习,红军成功地侵入了蓝军的内部网络,蓝军共有两个信息中心,红军计划在某台中间服务器上安装一个嗅探器,从而能够侦听到两个信息中