
算法基础课
fanlangke
这个作者很懒,什么都没留下…
展开
-
901. 滑雪
给定一个RR行CC列的矩阵,表示一个矩形网格滑雪场。矩阵中第ii行第jj列的点表示滑雪场的第ii行第jj列区域的高度。一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。下面给出一个矩阵作为例子: 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9在给定矩...原创 2022-05-25 21:08:03 · 74 阅读 · 0 评论 -
285. 没有上司的舞会
Ural 大学有NN名职员,编号为1∼N1∼N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数HiHi给出,其中1≤i≤N1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。输入格式第一行一个整数NN。接下来NN行,第ii行表示ii号职员的快乐指数HiHi。接下来N−1N−1...原创 2022-05-25 21:08:10 · 66 阅读 · 0 评论 -
91. 最短Hamilton路径
给定一张 nn 个点的带权无向图,点从 0∼n−10∼n−1 标号,求起点 00 到终点 n−1n−1 的最短 Hamilton 路径。Hamilton 路径的定义是从 00 到 n−1n−1 不重不漏地经过每个点恰好一次。输入格式第一行输入整数 nn。接下来 nn 行每行 nn 个整数,其中第 ii 行第 jj 个整数表示点 ii 到 jj 的距离(记为 a[i,j]a[i,j])。对于任意的 x,y,zx,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x]a[x,x]=0原创 2022-05-25 21:08:17 · 87 阅读 · 0 评论 -
291. 蒙德里安的梦想
求把N×MN×M的棋盘分割成若干个1×21×2的长方形,有多少种方案。例如当N=2,M=4N=2,M=4时,共有55种方案。当N=2,M=3N=2,M=3时,共有33种方案。如下图所示:输入格式输入包含多组测试用例。每组测试用例占一行,包含两个整数NN和MM。当输入用例N=0,M=0N=0,M=0时,表示输入终止,且该用例无需处理。输出格式每个测试用例输出一个结果,每个结果占一行。数据范围1≤N,M≤111≤N,M≤11输入样...原创 2022-05-25 21:08:24 · 73 阅读 · 0 评论 -
338. 计数问题
给定两个整数aa和bb,求aa和bb之间的所有数字中0∼90∼9的出现次数。例如,a=1024,b=1032a=1024,b=1032,则aa和bb之间共有99个数如下:1024 1025 1026 1027 1028 1029 1030 1031 1032其中0出现1010次,1出现1010次,2出现77次,3出现33次等等…输入格式输入包含多组测试数据。每组测试数据占一行,包含两个整数aa和bb。当读入一行为0 ...原创 2022-05-25 21:08:31 · 105 阅读 · 0 评论 -
900. 整数划分
一个正整数nn可以表示成若干个正整数之和,形如:n=n1+n2+…+nkn=n1+n2+…+nk,其中n1≥n2≥…≥nk,k≥1n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数nn的一种划分。现在给定一个正整数nn,请你求出nn共有多少种不同的划分方法。输入格式共一行,包含一个整数nn。输出格式共一行,包含一个整数,表示总划分数量。由于答案可能很大,输出结果请对109+7109+7取模。数据范围1≤n≤10001≤n≤1000输入样...原创 2022-05-25 21:08:43 · 98 阅读 · 0 评论 -
282. 石子合并
设有NN堆石子排成一排,其编号为1,2,3,…,N1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这NN堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有44堆石子分别为1 3 5 2, 我们可以先合并1、21、2堆,代价为44,得到4 5 2, 又合并1,21,2堆,代价为99,得到9 2,再合并得到1111,总...原创 2022-05-25 21:08:58 · 97 阅读 · 0 评论 -
899. 编辑距离
给定nn个长度不超过1010的字符串以及mm次询问,每次询问给出一个字符串和一个操作次数上限。对于每次询问,请你求出给定的nn个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。每个对字符串进行的单个字符的插入、删除或替换算作一次操作。输入格式第一行包含两个整数nn和mm。接下来nn行,每行包含一个字符串,表示给定的字符串。再接下来mm行,每行包含一个字符串和一个整数,表示一次询问。字符串中只包含小写字母,且长度均不超过101...原创 2022-05-25 21:09:04 · 78 阅读 · 0 评论 -
902. 最短编辑距离
给定两个字符串AA和BB,现在要将AA经过若干操作变为BB,可进行的操作有:删除–将字符串AA中的某个字符删除。 插入–在字符串AA的某个位置插入某个字符。 替换–将字符串AA中的某个字符替换为另一个字符。现在请你求出,将AA变为BB至少需要进行多少次操作。输入格式第一行包含整数nn,表示字符串AA的长度。第二行包含一个长度为nn的字符串AA。第三行包含整数mm,表示字符串BB的长度。第四行包含一个长度为mm的字符串BB。...原创 2022-05-25 21:09:10 · 62 阅读 · 0 评论 -
897. 最长公共子序列
给定两个长度分别为NN和MM的字符串AA和BB,求既是AA的子序列又是BB的子序列的字符串长度最长是多少。输入格式第一行包含两个整数NN和MM。第二行包含一个长度为NN的字符串,表示字符串AA。第三行包含一个长度为MM的字符串,表示字符串BB。字符串均由小写字母构成。输出格式输出一个整数,表示最大长度。数据范围1≤N,M≤10001≤N,M≤1000输入样例:4 5acbdabedc输出样例:3#i...原创 2022-05-24 15:28:16 · 66 阅读 · 0 评论 -
896. 最长上升子序列 II
给定一个长度为NN的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数NN。第二行包含NN个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000001≤N≤100000,−109≤数列中的数≤109−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4#include <iostream>#include <algorithm>usi...原创 2022-05-24 15:27:26 · 79 阅读 · 0 评论 -
895. 最长上升子序列
给定一个长度为NN的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数NN。第二行包含NN个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤10001≤N≤1000,−109≤数列中的数≤109−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4#include <iostream>#include <algorithm>using na...原创 2022-05-24 15:26:22 · 122 阅读 · 0 评论 -
898. 数字三角形
给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 44 5 2 6 5输入格式第一行包含整数nn,表示数字三角形的层数。接下来nn行,每行包含若干整数,其中第ii行表示数字三角形第ii层包含的整数。输出格式输出一个整数,表示最大的路径数字和...原创 2022-05-24 15:25:35 · 79 阅读 · 0 评论 -
AcWing 9. 分组背包问题
有NN组物品和一个容量是VV的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是vijvij,价值是wijwij,其中ii是组号,jj是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数N,VN,V,用空格隔开,分别表示物品组数和背包容量。接下来有NN组数据:每组数据第一行有一个整数SiSi,表示第ii个物品组的物品数量; 每组数据接下来有SiSi行,每行有...原创 2022-05-24 15:24:35 · 48 阅读 · 0 评论 -
5. 多重背包问题 II
有NN种物品和一个容量是VV的背包。第ii种物品最多有sisi件,每件体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行三个整数vi,wi,sivi,wi,si,用空格隔开,分别表示第ii种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N≤100...原创 2022-05-24 15:23:48 · 72 阅读 · 0 评论 -
AcWing 4. 多重背包问题
有NN种物品和一个容量是VV的背包。第ii种物品最多有sisi件,每件体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行三个整数vi,wi,sivi,wi,si,用空格隔开,分别表示第ii种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤1...原创 2022-05-24 15:20:51 · 168 阅读 · 0 评论 -
AcWing 3. 完全背包问题
有NN种物品和一个容量是VV的背包,每种物品都有无限件可用。第ii种物品的体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行两个整数vi,wivi,wi,用空格隔开,分别表示第ii种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<...原创 2022-05-24 15:15:07 · 51 阅读 · 0 评论 -
2. 01背包问题
有NN件物品和一个容量是VV的背包。每件物品只能使用一次。第ii件物品的体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。接下来有NN行,每行两个整数vi,wivi,wi,用空格隔开,分别表示第ii件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<N...原创 2022-05-24 14:47:16 · 65 阅读 · 0 评论 -
125. 耍杂技的牛
农民约翰的NN头奶牛(编号为1..N1..N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。奶牛们不是非常有创意,只提出了一个杂技表演:叠罗汉,表演时,奶牛们站在彼此的身上,形成一个高高的垂直堆叠。奶牛们正在试图找到自己在这个堆叠中应该所处的位置顺序。这NN头奶牛中的每一头都有着自己的重量WiWi以及自己的强壮程度SiSi。一头牛支撑不住的可能性取决于它头上所有牛的总重量(不包括它自己)减去它的身体强壮程度的值,现在称该数值为风险值,风险值越大,这只牛撑不住的可能性越高...原创 2022-05-24 14:45:27 · 63 阅读 · 0 评论 -
104. 货仓选址
在一条数轴上有NN家商店,它们的坐标分别为A1∼ANA1∼AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行输入整数NN。第二行NN个整数A1∼ANA1∼AN。输出格式输出一个整数,表示距离之和的最小值。数据范围1≤N≤1000001≤N≤100000,0≤Ai≤400000≤Ai≤40000输入样例:46 2 9 1输出样例...原创 2022-05-20 13:57:31 · 182 阅读 · 0 评论 -
913. 排队打水
有nn个人排队到11个水龙头处打水,第ii个人装满水桶所需的时间是titi,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小?输入格式第一行包含整数nn。第二行包含nn个整数,其中第ii个整数表示第ii个人装满水桶所花费的时间titi。输出格式输出一个整数,表示最小的等待时间之和。数据范围1≤n≤1051≤n≤105,1≤ti≤1041≤ti≤104输入样例:73 6 1 4 2 5 7输出样例:56#incl...原创 2022-05-20 13:55:46 · 98 阅读 · 0 评论 -
148. 合并果子
在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。达达决定把所有的果子合成一堆。每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n−1n−1次合并之后,就只剩下一堆了。达达在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以达达在合并果子时要尽可能地节省体力。假定每个果子重量都为11,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使达达...原创 2022-05-20 13:47:58 · 223 阅读 · 0 评论 -
907. 区间覆盖
给定NN个闭区间[ai,bi][ai,bi]以及一个线段区间[s,t][s,t],请你选择尽量少的区间,将指定线段区间完全覆盖。输出最少区间数,如果无法完全覆盖则输出−1−1。输入格式第一行包含两个整数ss和tt,表示给定线段区间的两个端点。第二行包含整数NN,表示给定区间数。接下来NN行,每行包含两个整数ai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需最少区间数。如果无解,则输出−1−1。数据范围1≤N≤105...原创 2022-05-20 13:40:01 · 82 阅读 · 0 评论 -
906. 区间分组
给定NN个闭区间[ai,bi][ai,bi],请你将这些区间分成若干组,使得每组内部的区间两两之间(包括端点)没有交集,并使得组数尽可能小。输出最小组数。输入格式第一行包含整数NN,表示区间数。接下来NN行,每行包含两个整数ai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示最小组数。数据范围1≤N≤1051≤N≤105,−109≤ai≤bi≤109−109≤ai≤bi≤109输入样例:3-1 12 43 5输出样例:...原创 2022-05-20 13:26:13 · 187 阅读 · 0 评论 -
908. 最大不相交区间数量
给定NN个闭区间[ai,bi][ai,bi],请你在数轴上选择若干区间,使得选中的区间之间互不相交(包括端点)。输出可选取区间的最大数量。输入格式第一行包含整数NN,表示区间数。接下来NN行,每行包含两个整数ai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示可选取区间的最大数量。数据范围1≤N≤1051≤N≤105,−109≤ai≤bi≤109−109≤ai≤bi≤109输入样例:3-1 12 43 5输出样例:...原创 2022-05-20 13:13:32 · 88 阅读 · 0 评论 -
905. 区间选点
给定NN个闭区间[ai,bi][ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。输入格式第一行包含整数NN,表示区间数。接下来NN行,每行包含两个整数ai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需的点的最小数量。数据范围1≤N≤1051≤N≤105,−109≤ai≤bi≤109−109≤ai≤bi≤109输入样例:3-1 12 ...原创 2022-05-20 13:11:12 · 68 阅读 · 0 评论 -
AcWing 840. 模拟散列表
维护一个集合,支持如下几种操作:I x,插入一个数xx; Q x,询问数xx是否在集合中出现过;现在要进行NN次操作,对于每个询问操作输出对应的结果。输入格式第一行包含整数NN,表示操作数量。接下来NN行,每行包含一个操作指令,操作指令为I x,Q x中的一种。输出格式对于每个询问指令Q x,输出一个询问结果,如果xx在集合中出现过,则输出Yes,否则输出No。每个结果占一行。数据范围1≤N≤1051≤N≤105−109≤x≤109−1...转载 2022-05-20 11:58:47 · 109 阅读 · 0 评论 -
841. 字符串哈希
给定一个长度为nn的字符串,再给定mm个询问,每个询问包含四个整数l1,r1,l2,r2l1,r1,l2,r2,请你判断[l1,r1][l1,r1]和[l2,r2][l2,r2]这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。输入格式第一行包含整数 nn 和 mm,表示字符串长度和询问次数。第二行包含一个长度为 nn 的字符串,字符串中只包含大小写英文字母和数字。接下来 mm 行,每行包含四个整数 l1,r1,l2,r2l1,r1,l2,r...原创 2022-05-20 11:58:56 · 72 阅读 · 0 评论 -
839. 模拟堆
维护一个集合,初始时集合为空,支持如下几种操作:I x,插入一个数xx; PM,输出当前集合中的最小值; DM,删除当前集合中的最小值(数据保证此时的最小值唯一); D k,删除第kk个插入的数; C k x,修改第kk个插入的数,将其变为xx;现在要进行NN次操作,对于所有第22个操作,输出当前集合的最小值。输入格式第一行包含整数NN。接下来NN行,每行包含一个操作指令,操作指令为I x,PM,DM,D k或C k x中的一种。输出格式对...原创 2022-05-19 20:18:56 · 66 阅读 · 0 评论 -
838. 堆排序
输入一个长度为nn的整数数列,从小到大输出前mm小的数。输入格式第一行包含整数nn和mm。第二行包含nn个整数,表示整数数列。输出格式共一行,包含mm个整数,表示整数数列中前mm小的数。数据范围1≤m≤n≤1051≤m≤n≤105,1≤数列中元素≤1091≤数列中元素≤109输入样例:5 34 5 1 3 2输出样例:1 2 3#include <iostream>#include <algorith...原创 2022-05-19 20:08:52 · 145 阅读 · 0 评论 -
并查集:AcWing 837. 连通块中点的数量
给定一个包含nn个点(编号为1∼n1∼n)的无向图,初始时图中没有边。现在要进行mm个操作,操作共有三种:C a b,在点aa和点bb之间连一条边,aa和bb可能相等; Q1 a b,询问点aa和点bb是否在同一个连通块中,aa和bb可能相等; Q2 a,询问点aa所在连通块中点的数量;输入格式第一行输入整数nn和mm。接下来mm行,每行包含一个操作指令,指令为C a b,Q1 a b或Q2 a中的一种。输出格式对于每...原创 2022-05-19 20:04:02 · 127 阅读 · 0 评论 -
并查集:AcWing 240. 食物链
动物王国中有三类动物A,B,CA,B,C,这三类动物的食物链构成了有趣的环形。AA吃BB,BB吃CC,CC吃AA。现有NN个动物,以1∼N1∼N编号。每个动物都是A,B,CA,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这NN个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示XX和YY是同类。第二种说法是2 X Y,表示XX吃YY。此人对NN个动物,用上述两种说法,一句接一句地说出KK句话,这...原创 2022-05-19 20:01:38 · 168 阅读 · 0 评论 -
并查集:AcWing 836. 合并集合
一共有nn个数,编号是1∼n1∼n,最开始每个数各自在一个集合中。现在要进行mm个操作,操作共有两种:M a b,将编号为aa和bb的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为aa和bb的两个数是否在同一个集合中;输入格式第一行输入整数nn和mm。接下来mm行,每行包含一个操作指令,指令为M a b或Q a b中的一种。输出格式对于每个询问指令Q a b,都要输出一个结果,如果aa...原创 2022-05-19 19:59:02 · 121 阅读 · 0 评论 -
143. 最大异或对
在给定的NN个整数A1,A2……ANA1,A2……AN中选出两个进行xorxor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数NN。第二行输入NN个整数A1A1~ANAN。输出格式输出一个整数表示答案。数据范围1≤N≤1051≤N≤105,0≤Ai<2310≤Ai<231输入样例:31 2 3输出样例:3#include <iostream>#include <algorithm&g...原创 2022-05-19 19:49:50 · 86 阅读 · 0 评论 -
835. Trie字符串统计
维护一个字符串集合,支持两种操作:I x向集合中插入一个字符串xx; Q x询问一个字符串在集合中出现了多少次。共有NN个操作,输入的字符串总长度不超过105105,字符串仅包含小写英文字母。输入格式第一行包含整数NN,表示操作数。接下来NN行,每行包含一个操作指令,指令为I x或Q x中的一种。输出格式对于每个询问指令Q x,都要输出一个整数作为结果,表示xx在集合中出现的次数。每个结果占一行。数据范围1≤N≤2∗1041≤N≤2∗1...原创 2022-05-19 19:47:15 · 60 阅读 · 0 评论 -
831. KMP字符串
给定一个模式串SS,以及一个模板串PP,所有字符串中只包含大小写英文字母以及阿拉伯数字。模板串PP在模式串SS中多次作为子串出现。求出模板串PP在模式串SS中所有出现的位置的起始下标。输入格式第一行输入整数NN,表示字符串PP的长度。第二行输入字符串PP。第三行输入整数MM,表示字符串SS的长度。第四行输入字符串SS。输出格式共一行,输出所有出现位置的起始下标(下标从00开始计数),整数之间用空格隔开。数据范围1≤N≤105...原创 2022-05-19 19:27:50 · 61 阅读 · 0 评论 -
861. 二分图的最大匹配
给定一个二分图,其中左半部包含n1n1个点(编号1∼n11∼n1),右半部包含n2n2个点(编号1∼n21∼n2),二分图共包含mm条边。数据保证任意一条边的两个端点都不可能在同一部分中。请你求出二分图的最大匹配数。二分图的匹配:给定一个二分图GG,在GG的一个子图MM中,MM的边集{E}{E}中的任意两条边都不依附于同一个顶点,则称MM是一个匹配。二分图的最大匹配:所有匹配中包含边数最多的一组匹配被称为二分图的最大匹配,其边数即为最大匹配数。输入...原创 2022-05-19 19:17:08 · 128 阅读 · 0 评论 -
AcWing 860. 染色法判定二分图
给定一个nn个点mm条边的无向图,图中可能存在重边和自环。请你判断这个图是否是二分图。输入格式第一行包含两个整数nn和mm。接下来mm行,每行包含两个整数uu和vv,表示点uu和点vv之间存在一条边。输出格式如果给定图是二分图,则输出Yes,否则输出No。数据范围1≤n,m≤1051≤n,m≤105输入样例:4 41 31 42 32 4输出样例:Yes#include <cstring>#...原创 2022-05-19 19:14:20 · 170 阅读 · 0 评论 -
859. Kruskal算法求最小生成树
给定一个nn个点mm条边的无向图,图中可能存在重边和自环,边权可能为负数。求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。给定一张边带权的无向图G=(V,E)G=(V,E),其中VV表示图中点的集合,EE表示图中边的集合,n=|V|n=|V|,m=|E|m=|E|。由VV中的全部nn个顶点和EE中n−1n−1条边构成的无向连通子图被称为GG的一棵生成树,其中边的权值之和最小的生成树被称为无向图GG的最小生成树。输入格式...原创 2022-05-18 19:54:42 · 76 阅读 · 0 评论 -
AcWing 858. Prim算法求最小生成树
给定一个nn个点mm条边的无向图,图中可能存在重边和自环,边权可能为负数。求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。给定一张边带权的无向图G=(V,E)G=(V,E),其中VV表示图中点的集合,EE表示图中边的集合,n=|V|n=|V|,m=|E|m=|E|。由VV中的全部nn个顶点和EE中n−1n−1条边构成的无向连通子图被称为GG的一棵生成树,其中边的权值之和最小的生成树被称为无向图GG的最小生成树。输入格式...原创 2022-05-18 19:49:50 · 124 阅读 · 0 评论