2017.1.21【初中部 GDKOI】模拟赛B组
来源:互联网 发布:dictionary软件下载 编辑:程序博客网 时间:2024/05/16 13:03
今天的比赛翻车了,40+10+0=50,排得很后。主要原因是第三题没有认真思考,以为自己不会,其实只要再认真想一想就可以了。
T1:这题有一个十分巧妙的方法。
因为给出的图是连通、无环且没有重边的,所以我们可以认为给出的图是一棵树。首先,我们把所有点的祖先都设为1节点。然后在每删除一条边时,就把这条边连接的深度较深的节点及其子树的祖先都赋为这个节点。在查询两个节点是否连通时,就直接判断它们的祖先是否相同就行了。注意,在查找节点的子节点时,要用深搜,不要用广搜,广搜的细节太多了,我调了半个下午都调不出来。
T2:这题涉及到一个新知识点:求有向图的强连通分量。我们可以用Kosaraju算法(在书上看到的),算法步骤如下。
1、任选一个点对图进行dfs搜索,记录所有点的反弹顺序,并保存在一个数组a里,先反弹的在前面。
2、倒转每一条边的方向。
3、把a数组倒过来搜一遍,遇到没有被标记的点就对这个点进行dfs,dfs遍历到的点就是这个点所在的环。记录每一个环中点的数量,并把它们记入答案。
T3:直接找规律。比赛时以为自己不会,其实再仔细想想就可以了。下次比赛时要认真思考,不要轻易放弃。
0 0
- 2017.1.21【初中部 GDKOI】模拟赛B组 国色天香 题解
- 2017.1.21【初中部 GDKOI】模拟赛B组
- 2017.1.13【初中部 GDKOI】模拟赛B组 逆光 题解
- 2017.1.13【初中部 GDKOI】模拟赛B组
- 2017.1.12【初中部 GDKOI】模拟赛B组
- 2017.1.13【初中部 GDKOI】模拟赛B组
- 2017.1.14【初中部 GDKOI】模拟赛B组题解
- 2017.1.14【初中部 GDKOI】模拟赛B组
- 2017.1.17【初中部 GDKOI】模拟赛B组
- 2017.1.16【初中部 GDKOI】模拟赛B组
- 2017.1.17【初中部 GDKOI】模拟赛B组
- 2017.1.18【初中部 GDKOI】模拟赛B组
- 2017.1.19【初中部 GDKOI】模拟赛B组 开灯 题解
- 2017.1.19【初中部 GDKOI】模拟赛B组 长方形 题解
- 2017.1.19【初中部 GDKOI】模拟赛B组
- 2017.1.20【初中部 GDKOI】模拟赛B组
- 2017.1.21【初中部 GDKOI】模拟赛B组 树的连通性 题解
- 2017.1.21【初中部 GDKOI】模拟赛B组 逻辑的连通性 题解
- gcc 程序内存使用分析
- 在macOS 10.12 上编译 Android 5.1
- FBI树(提高组)
- Makefile讲解
- PHP Call to undefined function mysql_connect()
- 2017.1.21【初中部 GDKOI】模拟赛B组
- C++的tie()函数
- Tango 开发指南 — 参考帧
- 3D游戏开发之在UE4中创建非玩家角色(NPC)
- 利用pushState, popState和location.hash等方法自己实现一个小型路由
- 浅析Spring的JdbcTemplate
- 多读书少睡觉
- 软件开发知识体系
- RxJava学习经验谈——lift操作