自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 题解 P3385 【【模板】负环】

(图爆了,重新交一次) 本题我用了dfs与bfs两种解法,但#9显然是在卡dfs,所以遗憾91分。代码附于文末,可供参考。 当bfs中一个点的d值被更新达到n次,说明图中存在负环。 如下图 如果是bfs求最短路的话,势必会在这个环里无限转圈。所以我们用一个下标对应点编号的数组来存这个点被访问的次数 因为一个点最多与n-1个点相连,也就是最多被访问n-1次。所以当这个点被访问到n次时,这条路径上一定有负环。 代码如下 #include<bits/stdc++.h> using namespace

2020-06-05 16:45:47 149

原创 题解 P5058 【[ZJOI2004]嗅探器】

因为a,b间所有的信息都要经过中间服务器,说明中间服务器删掉后,ab不连通,这个中间服务器一定是一个割点。 我们在用Tarjan求割点时,要判断割点是否把 a 和 b 必须分割到两个不连通的部分中。 为了简化问题,我们直接把a点作为根,从a点开始做DFS。 最容易想到的就是判断b的时间戳(dfn)是否不小于我们找到的割点,如下图 但是这种想法是有缺陷的。 假如a有一条连向b的边,但b却是由u遍历到的,那么这时u就不能分开a与b。 所以我们想到利用判断 u是割点的 v点 对于一个割点u,若判定u为割点的边

2020-06-05 16:34:26 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除