• 2024-05-21CF1515F Phoenix and Earthquake
    CF1515FPhoenixandEarthquake证明题。思路考虑不合法的情况,如果\(\suma_i<(n-1)\timesx\),肯定是不合法的。再考虑对于一个可行的情况,最后缩的边肯定形成一棵树,所以我们大胆假设:任意一棵生成树只要满足\(\suma_i\geq(n-1)\timesx\)有合法的缩边方案。考虑归纳证
  • 2024-05-11P3387 【模板】缩点
    求DAG中一条最大点权链用scc缩点完成后其实问题就回到了DAG,这样一个问题,开始dfs写多了,直接找入度为0为起点一个dfs,结果就搜爆了。正解:寻找DAG中一个拓扑排序,按照拓扑序遍历点,再遍历点的边,dp维护答案而Tarjan缩点完成后新点的倒序(ans_scc->1)就是一个拓扑序,于
  • 2024-05-08SCC缩点
    一、P2812校园网络【[USACO]NetworkofSchools加强版】P2812校园网络【[USACO]NetworkofSchools加强版】1、算法简析首先,建立一张有向图——学校是节点,学校间的单向线路是有向边。\(Q_1\):选出若干个节点,从这些节点出发可以到达其它的任意节点(即不考虑选出的节点),求这些节点
  • 2024-04-28AtCoder-abc351_d 题解
    原题翻译题意简述给定\(H\timesW\)的网格图,如果一个字符是#,则不能走到该字符上;如果是.,则可以走到该字符上,但如果它周围\(4\)个格子中有#字符,则不能再继续行走了。自由度是指从一个格子出发,能走到不同格子的数量(可以出发多次)。求出所有格子的最大自由度。思路考虑
  • 2024-04-16强连通分量、缩点
    强连通分量定义:强连通分量是指一个任意两点都可互相到达的极大子图。求解思路和桥、割点和边双连通分量很类似。首先跑出一颗dfs树,令\(dfn_u\)表示\(u\)的时间戳,\(low_u\)表示\(u\)的子树中仅通过非树边能到达的\(\min\{dfn_v\}\)。比如下图:在这张图中,黑色边为树边
  • 2024-03-12Tarjan算法求SCC,缩点
    Tanjan算法可以在O(n+m)的时间内求出强连通分量,常数小,是个非常优秀的算法。算法实现过程:dfn[x]表示x的dfs生成树上的编号,代表着时间戳,low[x]表示从x结点出发,能够访问到最早的时间戳。<1>进入u时,盖上时间戳,结点入栈。<2>枚举该点的结点的时候,分为三种情况:(1)如果该点v没有访
  • 2024-02-11从u到v还是从v到u?
    这道题目稍微想一下就可以知道,在缩点之后一定要长成一条链,即“有唯一的topo序”我们考虑证明一下这个结论,利用数学归纳法对缩点后的图,如果入度为\(0\)的点,如果有\(1\)个以上,那么显然是不行的,所以如果为\(0\)的点只有一个然后我们从入度为\(0\)的点开始走,假设我们走的前面一段都
  • 2024-02-08学习笔记——缩点
    前置知识:Tarjan求强连通分量一、什么是缩点缩点,就是把一张有向有环图上的一个个环缩成点,使其变成有向无环图。二、缩点的应用求最长路时常用。标准问法:给定一个有向图,每个点有一个权值,允许多次经过一条边或者一个点,重复经过的点,权值只计算一次。求最大权值若直接
  • 2023-11-19noip2023游寄
    周五出发去广州,从周三晚上就回家了,然后一直写不进去题。好,周五了。好,坐动车去广州了。车上睡了很久,一会就到了。好,到广州了。坐了很久地铁,真的很累。找了好久旅馆,终于到了。好累,睡了好久。打了缩点的板子,睡了好久。18号了。好,打车去考场了。好,8:27了。好,开考了。t1会
  • 2023-10-26tarjan、缩点、删点、删边
    D.CyclicOperations好久没有用tarjan了,今天做一道题,顺便复习一下tarjan是用来求连通性的算法,时间复杂度O(n)。网上关于tarjan的博文很多,我这里就不写了,只是复习一下。这道题很容易想到建边i-a[i]:对于长度是k的环,很显然可以满足;对于长度不是k的环,无论如何都不能
  • 2023-10-12CSP-2023游记
    Day-9gp终于开网了,做了几道zsq给的题luoguP4306:一开始看到这题觉得复杂度最少是\(\frac{n^3}{w}\),尝试优化了一下,结果发现优化不了,觉得不可做,一看题解,正解竟然真是\(\frac{n^3}{w}\),出题人开2000是不是有病啊。luoguP1407:这题一眼觉得是割边,结果发现是错的。考虑对于原
  • 2023-09-27luogu P4819 [中山市选] 杀人游戏 题解 【强连通分量+缩点】
    目录题目链接思路分析代码题目链接P4819思路分析首先考虑这道题的连通性。容易发现这种类型的题目会容易产生环形的状态转移。假设我们知道了其中的一个点是否是黑白点,那么我们就可以知道所有点是否是黑白点。容易陷入一个误区:我们只能通过一个点知道他所相邻的最直接的点,如何
  • 2023-08-26缩点+割点学习笔记
    缩点传送门根据题意:允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。所以我们可以考虑将可以相互到达的若干个点缩成一个点,以方便计算。下面讲如何实现:考虑\(dfs\),并且对点记录如下信息\(dfn\)(该点被遍历到的时间节点,即该点是第几个被遍历到的),\(low\)(可以追溯到
  • 2023-08-16【W的AC企划 - 第八期】tarjan缩点
    往期浏览第一期-博弈论(game)第二期-前缀和第三期-二分算法第四期-莫队算法第五期-线段树第六期-位运算(Bitmasks)第七期-树上分治第八期-Tarjan缩点第九期(拟)-树上启发式合并讲解(有向图)强连通分量缩点概念强连通分量缩点后的图称为SCC。有两种
  • 2023-08-10疯狂模拟四V我165分总结
    模拟4总结目录模拟4总结总体上个体上:第一题:第二题没看第三题老师布置的题目:第四题,eZ题目总体上个人感觉这一次做题非常舒服,第一题和第四题都想出来了,只可惜第三题做对了一点(最大值)个体上:第一题:很可惜,tarjan写错了,实际得分是65分......说明算法流程不是很掌握确实tarjan容
  • 2023-08-10洛谷 P3387 【模板】缩点
    在洛谷中查看所有思考都在代码,可以结合代码思考谢谢~#include<bits/stdc++.h>usingnamespacestd;constintN=1e4+5;intn,m,val[N];intdfn[N],low[N],num,col[N],cnt;//col记录每个点属于哪个联通分量//num记录遍历时间cnt记录缩点完后有多少个点in
  • 2023-08-062023/8/6 周报
    第八周周报(2023/7/31-2023/8/6)本周总结本周按暑期集训的专题进行练习,同时在准备Tarjan专题,对Tarjan专题进行了初步的学习大方向数论,动态规划,Tarjan算法小专题矩阵,高斯消元,线性基,GCD,逆元,裴蜀定理,记忆化搜索,数位dp,tarjan求强连通分量,缩点完成题目32
  • 2023-08-06Tarjan缩点
    P3225[HNOI2012]矿场搭建一共只会删除一个点,将每个点双连通分量分三种情况讨论第一种:点双连通分量没有割点,那么为了保证一定可以逃出去,至少需要两个点第二种:点双连通分量有且只有一个割点,此处割点是绿色的点,那么对于这种点双连通分量就需要在每个只有一个割点的双连通分量
  • 2023-08-06Tarjan 系列学习笔记
    最近在复习提高算法,所以学习复习笔记写的就比较多。Tarjan系列的算法主要针对于图论而言。Part\(1\)缩点缩点算是Tarjan算法最广泛的应用了。先讲拓扑序。在一个有向图中,若此图无环,我们称这个图是有向无环图,也叫DAG,我们可以用拓扑排序解决许多图上问题,简单思路是先把入
  • 2023-07-25POJ 3694 Network
    POJ3694Network一、题目大意\(n\)个点,\(m\)个边,连通图。点与点之间通过边连接,如果切断某个边使得有点与其他点连接断开(连通分支增加),则称这种边为桥梁(离散上叫割边)。接下来有\(Q\)个操作,每操作一次,也就是切断某条边后,输出当前存在的桥梁数量。二、样例分析我们看这个4
  • 2023-07-12【学习笔记】Tarjan
    前言:凡事都得靠自己--bobo催隔壁K8Hen天了让他写Tarjan的学习笔记,但貌似还没有动静,所以决定自己写一个。正文本文配套题单:14.图论-tarjan(强连通分量、割点、割边)前置知识熟练使用链式前向星强连通、强连通图、强连通分量的定义(详见oi-wiki,这里不再赘述)如图
  • 2023-07-06「学习笔记」竞赛图
    估计没什么用,所以只是娱乐向。定义:\(n\)个点,任意两点之间有且仅有一条有向边的图叫竞赛图,这个名称很形象吧。一定存在一条哈密顿路径,存在哈密顿回路的充要条件是这个竞赛图强连通。的每一个强连通都存在哈密顿环。数学归纳法证明。缩点后是一条链。用上面那条性质可以
  • 2023-06-26P3387 【模板】缩点 题解
    一、题目描述:给你一个$n$个点,$m$条边的有向图。点带权。求一条路径经过的所有点的权值和最大是多少。点可以重复经过。数据范围:$1\len\le1\times10^4,1\lem\le1\times10^5$。 二、解题思路:缩点板子题,不需要思路。时间复杂度$O(n+m)$。
  • 2023-04-262023.4.26三天学习总结
    一.三天任务完成情况1.完成了tarjan求强连通分量以及在缩点后的DAG上dp的复习2.完成了tarjan求点双和边双以及在缩点后数方案数的复习3.简单制定了一下接下来一年的学习计划4.完成了div3的补题二.截图 三.题解CodeforcesRound867(Div.3)
  • 2023-03-26tarjan缩点(受欢迎的牛)
    #include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>usingnamespacestd;intcnt;//计数intnum;//时间戳intp;//栈的