- 2024-11-18[ARC187B] Sum of CC
题意给定一个长为\(n\)的序列,\(a_i\in[1,m]\)对于所有\(1\lei<j\len\)且\(a_i\lea_j\)则对\((i,j)\)连无向边。求对于给定序列\(b\)所有的-1替换为\([1,m]\)的所有情况所连成的图连通块个数之和。\(n,m\le2000\)。Sol唐完了。首先注意到连通
- 2024-11-17SM 集训记录
DAY0(2024.11.15)T2GYM104787M首先定义一个副本连通块是只经过编号\(>n\)的节点形成的连通块。不难发现一个副本连通块(绿色)会连接着一些编号\(<n\)的叶子,然后与原图联通,并且与原图相同部分组成一个对称的连通块。就像下面的图一样:然后假如有\(lf\)个叶子(蓝色节点),其实
- 2024-11-1724.11.17
Heoi好题分享He(ngEr)oi好题分享怎么每次NT都找黑啊/jkP5362NT的关注@Nt_Yester谢谢喵欠着对于\(\textbf{T.M.}\)的序列除了题里那个鬼畜定义还有几种生成方式:初始令\(T_0=0\),然后每次将原串按位取反拼接到原串后。\(T_i=\operatorname{popcount}(i)\b
- 2024-11-14基于matlab身份证识别源码
五、源码1、打开图像[FileName,PathName]=uigetfile('*.jpg','Selectanimage');ifPathName~=0 str=[PathName,FileName]; T=imread(str); axes(handles.axes1); imshow(T);end预处理[m,n,r]=size(I);%图像的像素为width*height%%%%%
- 2024-11-13最小生成树
最小生成树模板题:【模板】最小生成树求最小生成树的边权和。Prim这似乎是我最早学的最小生成树算法。也是忘的最早的首先注意到,由\(n\)个节点和$n-1$条边构成的连通图一定是树。那么只需要选\(n-1\)条边使图连通,求最小代价。不难发现只要保证结果不出现环就可能是
- 2024-11-13学图论
Boruvka每一轮操作,对于每个点来说,让他和“最近的与他有连边且还未连通的点”相连。最多\(\logn\)轮,每轮\(O(n\cdotp)\),\(p\)为找“最近的与他有连边且还未连通的点”的复杂度。\(O(np\logn)\)Kruskal重构树设从小到大加边,性质:二叉树,\(2n-1\)个点(数组开两倍)原图的
- 2024-11-13[题解]P3225 [HNOI2012] 矿场搭建
P3225[HNOI2012]矿场搭建挖煤点坍塌相当于把该点和与其相连的边在图上删掉。借用wjyyy的题解,我们定义“叶子连通块”为“只包含\(1\)个割点的点双连通分量”,“非叶子连通块”为“包含\(\ge2\)个割点的点双连通分量”。如下图,橙色点是割点,红色框圈出的是点双,加粗的是叶子连通
- 2024-11-1111.11 NOIP模拟赛
T1字符串,两个相同的串一个从前往后,一个从后往前,选完后正着看都一样的话,就能拼成一个回文串,考虑两倍字符串,用kmp找到n~2n中间的一个i,如果i-n+1到i和1到n组成的字符相同的话,答案就为(m-1)*n+(2n-i)。m=1时直接输出nxt[n]。T2找规律,能\(O(1)\)求出任意位置的价值的
- 2024-11-09Borůvka
详解Borůvka算法的本质是一种多路Prim最小生成树,复杂度\(m\logn\),但劣于Kruskal的\(\log\)算法流程是这样的考虑当前的图(未连边),一定由若干连通块构成,我们考虑连接连通块可以想到,对于任意一个连通块,一定应该与尽可能优的连通块连边,并且,如果该连通块不在本操作连边,无论
- 2024-11-09Living-Dream 系列笔记 第84期
连通性问题点双连通:在无向图中,删除一个点(不是\(x\)或者\(y\))后,点\(x\)和点\(y\)仍然能够彼此到达,那么称\(x\)和\(y\)是点双连通的。边双连通:在无向图中,删除一条边后,点\(x\)和点\(y\)仍然能够彼此到达,那么称\(x\)和\(y\)是边双连通的。性质点双连
- 2024-11-08双连通分量学习笔记+杂题
图论系列:前言:もしも明日がくるのならあなたと花を育てたいもしも明日がくるのならあなたと愛を語りたい走って笑って転んで相关题单:https://www.luogu.com.cn/training/641352一.割点与桥双连通分量是针对无向图来说的,有向图是强连通分量。在了解双连通分量之前需要先
- 2024-11-0820240925 模拟赛
20240925模拟赛Apow显然如果出现了\(1\),那么\(1\)和后面的数都没用了。于是剩下的数不小于\(2\)。考虑\(3\)个数的情况,只有\(a^{(b^c)}\)和\((a^b)^c\)两种情况。第二中等价于\(a^{bc}\),注意到当\(b,c\geq2\)时\(b^c\geqbc\),于是第一种情况一定不优,所以直接
- 2024-11-08The 3rd Universal Cup. Stage 15: Chengdu 解题集
A.ArrowaRow我们把整个序列划分成若干个形似\(\text{>>>>..>>}\)的连续段,并尝试用一个最右边连通块里最左边的\(\text{>>>}\)去覆盖掉左边不和它在一个段里的所有\(\text{>}\),如果最右边的连续段长度小于2或者没有连续段则肯定无解。对于在同一个连续段里其他的\(\te
- 2024-11-04【笔记/模板】无向图的双连通分量
边双连通分量定义在一张联通的无向图中,对于任意两点\(u\)和\(v\),删去两点之间任意一条边,都无法使其不连通(即连通数不变),我们就说这两点是边双连通。对于一个无向图中的极大边双连通的子图,我们称这个子图为一个边双连通分量。根据【笔记/模板】割点和桥中可知,如果
- 2024-11-02并查集
种类并查集P2024[NOI2001]食物链类似于超级源点,把\(x+n\)丢进集合里,相当于\(x\)对这个集合作了标记,方便维护细节注意\(x\toy\),对于\(y\toz\),会有\(z\tox\)这里会出现自己和自己连边的情况,用\(fa[rt]=0\)的写法需要特判P6008[USACO20JAN]CavePaintingsP主要考察思
- 2024-11-012024 Nov
Question1.[ARCY2021]E.PlanningRailroadDiscontinuation给定\(l\)张\(n\)个点\(m\)条边的图\(G_i(0\leqi<l)\),其中图\(G_i\)中连接\(u,v\)两个点的边的边权为\(w_{u,v}+b_i\)。在所有图中钦定\(r\)个点\(s_1,s_2,\cdots,s_r\),作为特殊点,其中点\(G
- 2024-10-30SS241030C. 桥梁(bridge)
SS241030C.桥梁(bridge)题意本人小时候也分不清fridge和bridge给你\(n\)个点,\(m\)条边的图,边带权。有\(q\)个要求。每个要求给出\(a_i,b_i\),要求至少选中第\(a_i\)或\(b_i\)条边。问最小代价选边使得图连通。solution注意到\(q\le16\),可以直接枚举每个要求必
- 2024-10-30强连通分量学习笔记+杂题
图论系列:前言:僕は明快さ故にアイロニー優柔不断なフォローミー後悔後悔夜の果て相关题单:戳我一.强连通分量相关定义基本摘自oiwiki,相关定义还是需要了解。(实际就是搬了个oiwiki)强连通分量主要在研究有向图可达性,针对的图类型为有向弱联通图。1.强连通定义强连通:对
- 2024-10-29ARC186A 官方题解-ChatGPT翻译
基于图的重新表述对于一个元素为0或1的\(N\timesN\)矩阵\(A\),考虑从一个完整的二部图构建的有向图。该图的顶点由两部分组成:\((R_1,\dots,R_N)\)和\((C_1,\dots,C_N)\),其边的方向如下:如果\(A_{i,j}=1\),则边从\(R_i\)指向\(C_j\)如果\(A_{i,j}=0\),则边从\(C_i
- 2024-10-28【数据结构与算法】图(Graph)
文章目录图的逻辑结构一.图的定义二.图的基本概念和术语图的存储结构一.邻接矩阵(数组)二.邻接表(链式)三.十字链表四.邻接多重表五.边集数组图的遍历一.深度优先遍历二.广度优先遍历三.图的遍历与图的连通性图的逻辑结构在线性表中,数据元素之间是被串起来的,仅有线
- 2024-10-27提高:二分与三分:扩散
一个点每过一个单位时间就会向四个方向扩散一个距离,如图。两个点a、b连通,记作e(a,b)当且仅当a、b的扩散区域有公共部分。连通块的定义是块内的任意两个点u、v都必定存在路径e(u,a0),e(a0,a1),…,e(ak,v)。给定平面上的n给点,问最早什么时刻它们形成一个连通块。输入第一行一
- 2024-10-26CF771A. Bear and Friendship Condition 题解 并查集
题目链接:https://codeforces.com/problemset/problem/771/A视频讲解:https://www.bilibili.com/video/BV1tZ1FYPELp/?p=6题目大意:判断一个无向图中的每个连通块是否都是一个完全图。首先我们可以用并查集维护每个连通块的大小。其次,我们可以开一个\(cnt_i\)表示以节点\(i\)
- 2024-10-25Tarjan求点双连通分量
更新日志思路首先,点双连通分量就是删去任意一点后仍连通的分量。如何求呢?看着定义,答案就已经在里面了——求出割点即可。与边双不同的是,点双中是包括割点的。究其原因,删去割点之后,原图会被分成多个连通块,但事实上,割点加入其中任意一个,仍然是双连通的。证明如下:若连通块