随笔分类 - 图论 -- Tarjan
摘要:[JSOI2010] 连通数 "bzoj2208" "luogu4306" 缩点完后用bitset来统计== 按拓扑序来 c++ include using namespace std; define Max(x,y) ((x) (y)?(x):(y)) define Min(x,y) ((x)f[
阅读全文
摘要:"[BZOJ2427]" "[luoguP2515]" 每个人都至多有一个依赖点 所以有可能成环 先tarjan缩点并处理出环的信息wei va 再将缩点后的图重新连接 将入度为0的点和0点连接 这样就构成了一颗树 由此做树形dp 只有父亲节点选了它的儿子才能选 所以在访问进去时先把wei[u]~m
阅读全文
摘要:P3119 [USACO15JAN]草鉴定Grass Cownoisseur 先tarjan缩点 再分层建图 一层为逆向前 另一层为逆向走后 因为逆向只能走一次 所以上去了就下不来了 会不会重复吃草场可以画一下图就能理解辽 给定一个有向图G,有m张优惠券,可以把一条边的边权改成一个固定值k,求节点s
阅读全文
摘要:P3469 [POI2008]BLO-Blockade 分为两种情况 一种不为割点时贡献为2*(n-1) 为割点时贡献为各个连通块之间互相的贡献 开始无法理解 ans[u]+=(ll)sum*sz[v],sum+=sz[v] 是如何求出贡献的 可以发现在访问该割点下面的各个块时像这样相乘 就把各个块
阅读全文
摘要:P4819 [中山市选]杀人游戏 显然问的人越少越好,若问了k个人,答案为(n-k)/n 显然问的人越少越好,若问了k个人,答案为(n-k)/n 若点x有入边,询问x的前驱比询问x要好;但如果有环,区分有没有从环外指向环内的边,若有进入环的边,……,若没有,……,所以可以先缩点 缩环之后图会变成拓扑
阅读全文
摘要:P3225 [HNOI2012]矿场搭建 好吧 我是看了yyb大佬的题解才做起的 并且把我的割点模板改得和他的一样 先找割点 然后再一个点一个点地来找连通块 统计该块里的割点数和非割点数 如果没有割点,分类讨论:1.只有1个节点,只需要建立1个出口,方案累乘不变2.有n个节点(n≥2),至少建立两个
阅读全文
摘要:2117 -- Electricity 一个无向图 去掉一个点后最多能被分为多少个部分 输入要注意是n m同时为0才停.... n,m可能有一个为零 别问我为什么知道... 其实没太弄懂.....再看看吧
阅读全文
摘要:P2783 有机化学之神偶尔会做作弊 缩点 然后LCA x,y两点之间的距离为dep[x]+dep[y]-2dep[lca]+1 死于各种缩点之后忘记用bl
阅读全文
摘要:P3388 【模板】割点(割顶) 放guo模板 前置 [点连通度与边连通度] 在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。 类似的,如果有一个边集合,删除
阅读全文
摘要:P2272 [ZJOI2007]最大半连通子图 首先缩点 缩完点后存在大量重边 排一遍序去重 然后重新建一个新图 再从入度为0的点一个一个搜 统计并更新答案 感觉过不了多久我再看就看不懂了 一大坨变量
阅读全文
摘要:P1262 间谍网络 emmmmm依旧水题 先tarjan缩点 缩点时记录当前强连通分量里面的最小值 然后再看dfn 若为0即被访问过则不能控制 可以的话就挨个加上该值
阅读全文
摘要:2194 HXY烧情侣 emmmmm快乐水题 由题可得 要用tarjan缩点 然后因为要求其中最小花费的方案数 用一个vector来记录该强连通分量内的情况 然后用乘法原理
阅读全文
摘要:P3627 [APIO2009]抢掠计划 看到可以走多次 考虑缩点 缩点后重新建一个图跑一边spfa 速度感人
阅读全文
摘要:P2746 [USACO5.3]校园网Network of Schools 任务a:找有多少个入度为0的点 任务b:找出出度为0的个数和入度为0点个数中的较大数 在一个出度为0和另一入度为0的点间连一条边 就可以同时解决两个点 故找出其中较大数 要注意最终缩为一个强连通时要特判
阅读全文
摘要:P2341 [HAOI2006]受欢迎的牛 背一下刚刚出炉的模板 (快乐打水题) emmmm 反向建边方便后面计算强连通分量的出度(反向建边就把出度变为入度) 缩完点后枚举边 然后就来统计现在的入度 最后就看有没有多于两个0入度的点 如果有 就没有牛可以成为明星
阅读全文
摘要:P3387 【模板】缩点 静下心来去看 其实真的很好理解 突然搞不懂我之前为什么死活都看不懂 参悟了学长的代码还有BYVoid的讲解 放一下BYVoid大佬的tarjan伪代码 帮助理解 还有各种变量的含义 (from黄学长 栈里的元素表示的是当前已经访问过但是没有被归类到任一强连通分量的结点dfn
阅读全文