AcWing
文章平均质量分 66
记录AcWing平台题目的题解。
Tuenity
快乐学习!
展开
-
【题解】【AcWing】3509. 棋盘遍历问题
3509. 棋盘遍历问题原题传送:AcWing 3509. 棋盘遍历问题给定一个 N×MN \times MN×M 的方格棋盘,请问一个棋子从棋盘左上角出发,能否在不重复经过棋盘上的方格的情况下,遍历整个棋盘一次再回到起点。输入格式输入包含多组测试数据。每组数据占一行,包含两个整数 N,MN,MN,M 。输出格式每组数据输出一行一个结果,如果能回到起点则输出 Y,否则输出 N。数据范围1≤N,M≤101 \le N,M \le 101≤N,M≤10输入样例:1 22 2输出样例:原创 2021-09-18 08:54:09 · 609 阅读 · 4 评论 -
【题解】【AcWing】3570. 弹地小球
3570. 弹地小球原题传送:AcWing 3570. 弹地小球一个小球,从高为 HHH 的地方下落,下落弹地之后弹起高度为下落时的一半,比如第一次弹起高度为 H/2H/2H/2 ,如此往复,计算从小球 HHH 高度下落到第 nnn 次弹地,往返的总路程。输入格式第一行包含整数 TTT ,表示共有 TTT 组测试数据。每组数据占一行,包含两个整数 HHH 和 nnn 。输出格式每组数据输出一行,一个结果,表示小球往返的总路程,保留两位小数。数据范围1≤T≤101 \le T \le 101原创 2021-09-16 10:51:08 · 231 阅读 · 0 评论 -
【题解】【AcWing】3558. 整数和
3558. 整数和原题传送:AcWing 3558. 整数和编写程序,读入一个整数 NNN 。若 NNN 为非负数,则计算 NNN 到 2N2N2N 之间的整数和;若 NNN 为一个负数,则计算 2N2N2N 到 NNN 之间的整数和(包括两端整数)。输入格式第一行包含整数 TTT ,表示共有 TTT 组测试数据。每组数据一行,一个整数 NNN 。输出格式每组数据一行,一个结果。数据范围1≤T≤1001 \le T \le 1001≤T≤100 ,−100≤N≤100-100 \le原创 2021-09-16 10:46:42 · 183 阅读 · 0 评论 -
【题解】【AcWing】3455. 数字台阶
3455. 数字台阶原题传送:AcWing 3455. 数字台阶如下图所示,我们在一个平面上建立了一个数字台阶,从点 (0,0)(0,0)(0,0) 开始,我们在平面中依次标注了 0,1,2…0,1,2…0,1,2… 等所有非负整数。例如,在点 (1,1),(2,0),(3,1)(1,1),(2,0),(3,1)(1,1),(2,0),(3,1) 处,我们依次标注了 1,2,31,2,31,2,3 。现在,给定一个若干坐标,请你判断,该坐标上是否标有数字,以及标有什么数字。输入格式第一行包含整原创 2021-09-16 10:43:14 · 184 阅读 · 0 评论 -
【题解】【AcWing】3505. 最长ZigZag子序列
3505. 最长ZigZag子序列原题传送:AcWing 3505. 最长ZigZag子序列一个整数序列的子序列是指从给定序列中随意地(不一定连续)去掉若干个整数(可能一个也不去掉)后所形成的整数序列。对于一个整数序列 x1,x2,…,xnx_1,x_2,…,x_nx1,x2,…,xn ,如果满足下列两个条件之一:∀i∈[1,n−1]\forall i \in [1,n-1]∀i∈[1,n−1] ,当 i%2==1i\%2==1i%2==1 时, xi−xi+1x_i-x_{i+1}xi−原创 2021-09-15 18:45:50 · 278 阅读 · 0 评论 -
【题解】【AcWing】3393. 最大序列和
3393. 最大序列和原题传送:AcWing 3393. 最大序列和给出一个整数序列 SSS ,其中有 NNN 个数,定义其中一个非空连续子序列 TTT 中所有数的和为 TTT 的“序列和”。对于 SSS 的所有非空连续子序列 TTT ,求最大的序列和。输入格式第一行包含一个整数 NNN 。第二行包含 NNN 个整数,表示序列中的元素。输出格式输出一个数,表示最大序列和。数据范围1≤N≤1061 \le N \le 10^61≤N≤106 ,序列中的元素的取值范围 [−109,109]原创 2021-09-15 18:35:01 · 136 阅读 · 0 评论 -
【题解】【AcWing】3487. 最小面积子矩阵
3487. 最小面积子矩阵原题传送:AcWing 3487. 最小面积子矩阵一个 N×MN \times MN×M 的矩阵,找出这个矩阵中所有元素的和不小于 KKK 的面积最小的子矩阵(矩阵中元素个数为矩阵面积)。输入格式第一行包含三个整数 N,M,KN,M,KN,M,K 。接下来 NNN 行,每行包含 MMM 个整数,表示矩阵中元素的值。输出格式输出最小面积的值。如果出现任意矩阵的和都小于 KKK ,直接输出 −1-1−1 。数据范围1≤N,M≤1001 \le N,M \le 100原创 2021-09-14 00:47:21 · 295 阅读 · 0 评论 -
【题解】【AcWing】3581. 单词识别
3581. 单词识别原题传送:AcWing 3581. 单词识别输入一行英文句子,统计句子中出现的各个单词(不区分大小写)及其出现次数。要求能识别英文句号和逗号,即是说单词由空格、句号和逗号隔开。输入格式共一行,包含一个长度不超过 100010001000 的字符串。字符串中只包含大小写字母,空格,英文句号和逗号。输出格式按字典顺序,输出每个单词及其出现次数。单词在输出时,应将字母全部转化为小写。每个单词的输出占一行。具体格式为:word:times数据范围输入字符串长度不超过原创 2021-09-13 22:31:25 · 227 阅读 · 0 评论 -
【题解】【AcWing】3542. 查找
3542. 查找原题传送:AcWing 3542. 查找给定一个长度为 nnn 的数组 a1,…,ana_1,…,a_na1,…,an 和一个长度为 mmm 的数组 b1,…,bmb_1,…,b_mb1,…,bm 。对于每一个 bib_ibi ,请你查找其是否在数组 aaa 中出现过。输入格式第一行包含整数 nnn 。第二行包含 nnn 个整数 a1,…,ana_1,…,a_na1,…,an 。第三行包含整数 mmm 。第四行包含 mmm 个整数 b1,…,bmb_1,…,b_原创 2021-09-13 21:42:03 · 133 阅读 · 0 评论 -
【题解】【AcWing】3447. 子串计算
3447. 子串计算原题传送:AcWing 3447. 子串计算给出一个 010101 字符串,求其每一个子串出现的次数。输入格式输入包含多行,每行一个字符串。输出格式对每个字符串,输出它所有出现次数在 111 次以上的子串和这个子串出现的次数,输出按字典序排序。数据范围输入字符串的长度不超过 100100100 。每组输入最多包含 100100100 个字符串。输入样例:10101输出样例:0 201 21 310 2101 2思路:遍历字符串,map记录子串的数原创 2021-09-13 16:28:00 · 193 阅读 · 0 评论 -
【题解】【AcWing】1476. 数叶子结点
1476. 数叶子结点原题传送:AcWing 1476. 数叶子结点家庭关系可以用家谱树来表示,给定一个家谱树,你的任务是找出其中没有孩子的成员。输入格式第一行包含一个整数 NNN 表示树中结点总数以及一个整数 MMM 表示非叶子结点数。接下来 MMM 行,每行的格式为:ID K ID[1] ID[2] ... ID[K]IDIDID 是一个两位数字,表示一个非叶子结点编号, KKK 是一个整数,表示它的子结点数,接下来的 KKK 个 ID[i]ID[i]ID[i] 也是两位数字,表示一个子原创 2021-09-12 15:13:38 · 187 阅读 · 0 评论 -
【题解】【AcWing】1562. 微博转发
1562. 微博转发原题传送:AcWing 1562. 微博转发微博被称为中文版的Twitter。微博上的用户既可能有很多关注者,也可能关注很多其他用户。因此,形成了一种基于这些关注关系的社交网络。当用户在微博上发布帖子时,他/她的所有关注者都可以查看并转发他/她的帖子,然后这些人的关注者可以对内容再次转发…现在给定一个社交网络,假设只考虑 LLL 层关注者,请你计算某些用户的帖子的最大可能转发量。补充如果 BBB 是 AAA 的关注者, CCC 是 BBB 的关注者,那么 AAA 的第一层原创 2021-09-12 15:13:35 · 318 阅读 · 0 评论 -
【题解】【AcWing】1558. 加油站
1558. 加油站原题传送:AcWing 1558. 加油站加油站的建造位置必须使加油站与距离它最近的房屋的距离尽可能远。与此同时,它还必须保证所有房屋都在其服务范围内。现在,给出了城市地图和加油站的几个候选位置,请你提供最佳建议。如果有多个解决方案,请输出选取位置与所有房屋的平均距离最小的解决方案。如果这样的解决方案仍然不是唯一的,请输出选取位置编号最小的解决方案。输入格式第一行包含四个整数 NNN ,房屋总数, MMM ,加油站的候选位置总数, KKK ,连接房屋或加油站的道路总数, D原创 2021-09-11 10:15:00 · 173 阅读 · 0 评论 -
【题解】【AcWing】1623. 中缀表达式
1623. 中缀表达式原题传送:AcWing 1623. 中缀表达式给定一个句法二叉树,请你输出相应的中缀表达式,并利用括号反映运算符的优先级。输入格式第一行包含整数 NNN 表示二叉树的总结点个数。接下来 NNN 行,每行以下列格式给出一个结点的信息(第 iii 行对应于第 iii 个结点):data left_child right_child其中data是一个长度不超过 101010 的字符串,left_child 和 right_child 分别是该结点的左右子结点编号。所有结点编原创 2021-09-11 01:17:22 · 282 阅读 · 0 评论 -
【题解】【AcWing】1649. 堆路径
1649. 堆路径原题传送:AcWing 1649. 堆路径在计算机科学中,堆是一种的基于树的专用数据结构,它具有堆属性:如果 PPP 是 CCC 的父结点,则在大顶堆中 PPP 结点的权值大于或等于 CCC 结点的权值,在小顶堆中 PPP 结点的权值小于或等于 CCC 结点的权值。一种堆的常见实现是二叉堆,它是由完全二叉树来实现的。可以肯定的是,在大顶/小顶堆中,任何从根到叶子的路径都必须按非递增/非递减顺序排列。你的任务是检查给定完全二叉树中的每个路径,以判断它是否是堆。输入格式第一行包原创 2021-09-11 01:10:48 · 148 阅读 · 0 评论 -
【题解】【AcWing】1605. 二叉搜索树最后两层结点数量
1605. 二叉搜索树最后两层结点数量原题传送:AcWing 1605. 二叉搜索树最后两层结点数量二叉搜索树(BST)递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值它的左、右子树也分别为二叉搜索树将一系列数字按顺序插入到一个空的二叉搜索树中,然后,请你计算结果树的最低两层的结点个数。输入格式第一行包含整数 NNN ,表示插入数字序列包含的数字个数。第二行包含 NNN 个整数原创 2021-09-11 01:03:50 · 156 阅读 · 0 评论 -
【题解】【AcWing】1550. 完全二叉搜索树
1550. 完全二叉搜索树原题传送:AcWing 1550. 完全二叉搜索树二叉搜索树(BST)递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值它的左、右子树也分别为二叉搜索树完全二叉树(CBT)定义为除最深层外的其他层的结点数都达到最大个数,最深层的所有结点都连续集中在最左边的二叉树。现在,给定 NNN 个不同非负整数,表示 NNN 个结点的权值,用这 NNN 个结点可以构成唯一原创 2021-09-11 00:45:01 · 123 阅读 · 0 评论 -
【题解】【AcWing】1600. 完全二叉树
1600. 完全二叉树原题传送:AcWing 1600. 完全二叉树给定一个树,请你判断它是否是完全二叉树。输入格式第一行包含整数 NNN ,表示树的结点个数。树的结点编号为 0∼N−10 \sim N-10∼N−1 。接下来 NNN 行,每行对应一个结点,并给出该结点的左右子结点的编号,如果某个子结点不存在,则用 - 代替。输出格式如果是完全二叉树,则输出 YES 以及最后一个结点的编号。如果不是,则输出 NO 以及根结点的编号。数据范围1≤N≤201 \le N \le 201≤N原创 2021-09-11 00:38:31 · 125 阅读 · 0 评论 -
【题解】【AcWing】1592. 反转二叉树
1592. 反转二叉树原题传送:AcWing 1592. 反转二叉树以下是来自Max Howell @twitter的内容:谷歌:我们的百分之九十的工程师都使用你编写的软件,但是你连在白板上反转二叉树都做不到,还是滚吧。现在,请你证明你会反转二叉树。输入格式第一行包含一个整数 NNN ,表示树的结点数量。所有结点编号从 000 到 N−1N-1N−1 。接下来 NNN 行,每行对应一个 0∼N−10 \sim N-10∼N−1 的结点,给出该结点的左右子结点的编号,如果该结点的某个子结点不原创 2021-09-11 00:33:44 · 143 阅读 · 0 评论 -
【题解】【AcWing】1589. 构建二叉搜索树
1589. 构建二叉搜索树原题传送:AcWing 1589. 构建二叉搜索树二叉搜索树(BST)递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值它的左、右子树也分别为二叉搜索树给定二叉树的具体结构以及一系列不同的整数,只有一种方法可以将这些数填充到树中,以使结果树满足BST的定义。请你输出结果树的层序遍历。示例如图 111 和图 222 所示。输入格式第一行包含一个正整数原创 2021-09-11 00:20:22 · 134 阅读 · 0 评论 -
【题解】【AcWing】850. Dijkstra求最短路 II
850. Dijkstra求最短路 II原题传送:AcWing 850. Dijkstra求最短路 II给定一个 nnn 个点 mmm 条边的有向图,图中可能存在重边和自环,所有边权均为非负值。请你求出 111 号点到 nnn 号点的最短距离,如果无法从 111 号点走到 nnn 号点,则输出 −1-1−1 。输入格式第一行包含整数 nnn 和 mmm 。接下来 mmm 行每行包含三个整数 x,y,zx,y,zx,y,z ,表示存在一条从点 xxx 到点 yyy 的有向边,边长为 zzz 。输原创 2021-09-11 00:15:55 · 149 阅读 · 0 评论 -
【题解】【AcWing】1648. 顶点着色
1648. 顶点着色原题传送:AcWing 1648. 顶点着色一个合适的顶点着色是指用各种颜色标记图中各个顶点,使得每条边的两个端点的颜色都不相同。如果一种合适的顶点着色方案使用了一共 kkk 种不同的颜色,则称其为合适的 kkk 着色(k-coloring)。现在,你需要判断给定的着色方案是否是合适的 kkk 着色方案。输入格式第一行包含两个整数 NNN 和 MMM ,分别表示点和边的数量。接下来 MMM 行,每行包含两个整数 a,ba,ba,b ,表示点 aaa 和点 bbb 之间存在一原创 2021-09-11 00:15:48 · 152 阅读 · 0 评论 -
【题解】【AcWing】1643. 旅行商问题
1643. 旅行商问题原题传送:AcWing 1643. 旅行商问题“旅行商问题”是这样一个问题:“给出一个城市列表以及每对城市之间的距离,访问每个城市并返回原城市的最短路线是什么?”这是组合优化中的一个NP难题,在运筹学和理论计算机科学中十分重要。在此问题中,请你从给定的路径列表中找到最接近旅行商问题的解的路径。输入格式第一行包含两个整数 NNN 和 MMM ,分别表示城市数量以及无向图中边的数量。接下来 MMM 行,每行以City1 City2 Dist格式描述一条边,其中城市编号从 11原创 2021-09-10 15:13:52 · 247 阅读 · 0 评论 -
【题解】【AcWing】1639. 拓扑顺序
1639. 拓扑顺序原题传送:AcWing 1639. 拓扑顺序这是 201820182018 年研究生入学考试中给出的一个问题:以下哪个选项不是从给定的有向图中获得的拓扑序列?现在,请你编写一个程序来测试每个选项。输入格式第一行包含两个整数 NNN 和 MMM ,分别表示有向图的点和边的数量。接下来 MMM 行,每行给出一条边的起点和终点。点的编号从 111 到 NNN 。再一行包含一个整数 KKK ,表示询问次数。接下来 KKK 行,每行包含一个所有点的排列。一行中的数字用空格隔原创 2021-09-10 14:07:39 · 175 阅读 · 0 评论 -
【题解】【AcWing】1635. 最大团
1635. 最大团原题传送:AcWing 1635. 最大团在一个无向图中,如果一个顶点子集满足子集内的任意两个不同顶点之间都是相连的,那么这个顶点子集就被称为一个团。如果一个团不能通过加入某个新的顶点来扩展成一个更大的团,那么该团就被称为最大团。现在,你需要判断给定顶点子集能否构成一个最大团。输入格式第一行包含两个整数 NvN_vNv 和 NeN_eNe ,分别表示无向图中点和边的数量。接下来 NeN_eNe 行,每行包含两个整数 a,ba,ba,b ,表示点 aaa 和点 bbb 之原创 2021-09-10 12:41:40 · 156 阅读 · 0 评论 -
【题解】【AcWing】1632. 第一次接触
1632. 第一次接触原题传送:AcWing 1632. 第一次接触与如今不同,早年男孩和女孩表达爱情的方式相当微妙。当男孩 AAA 暗恋着女孩 BBB 的时候,他通常不会直接与她联系。取而代之的是,他可能会去找另一个男孩 CCC (他的好朋友)去拜托女孩 DDD (她是 BBB 和 CCC 的朋友)将女孩 BBB 约出来。这实在是麻烦不是吗?女孩也会做类似的事情。在给定的友谊关系网络中,请你帮助一些男孩和女孩列出所有可能会帮助他们进行第一次联系的朋友。输入格式第一行包含两个整数 NNN原创 2021-09-10 12:08:00 · 97 阅读 · 0 评论 -
【题解】【AcWing】1627. 顶点覆盖
1627. 顶点覆盖原题传送:AcWing 1627. 顶点覆盖如果图中的一个顶点集合能够满足图中的每一条边都至少有一个端点在该集合内,那么这个顶点集合就是图的顶点覆盖。现在给定一张图,以及若干个顶点集合,请你判断这些顶点集合是否是图的顶点覆盖。输入格式第一行包含两个整数 NNN 和 MMM ,表示图中点和边的数量。接下来 MMM 行,每行包含两个整数 a,ba,ba,b ,表示点 aaa 和点 bbb 之间存在一条边。点编号 0∼N−10 \sim N-10∼N−1 。然后包含一个整数 K原创 2021-09-10 08:46:57 · 88 阅读 · 0 评论 -
【题解】【AcWing】1619. 欧拉路径
1619. 欧拉路径原题传送:AcWing 1619. 欧拉路径在图论中,欧拉路径是图中的一条路径,该路径满足恰好访问每个边一次。而欧拉回路是一条在同一顶点处开始和结束的欧拉路径。它们最早由欧拉于 173617361736 年解决著名的哥尼斯堡七桥问题时提出。事实证明,如果一个连通图的所有顶点的度数都为偶数,那么这个连通图具有欧拉回路,且这个图被称为欧拉图。如果一个连通图中有两个顶点的度数为奇数,其他顶点的度数为偶数,那么所有欧拉路径都从其中一个度数为奇数的顶点开始,并在另一个度数为奇数的顶点结原创 2021-09-10 08:44:09 · 135 阅读 · 0 评论 -
【题解】【AcWing】1644. 二叉树中的最低公共祖先
1644. 二叉树中的最低公共祖先原题传送:AcWing 1644. 二叉树中的最低公共祖先树中两个结点 UUU 和 VVV 的最低公共祖先(LCA)是指同时具有 UUU 和 VVV 作为后代的最深结点。给定二叉树中的任何两个结点,请你找到它们的LCA。输入格式第一行包含两个整数 MMM 和 NNN ,分别表示询问结点对数以及二叉树中的结点数量。接下来两行,每行包含 NNN 个不同的整数,分别表示二叉树的中序和前序遍历。保证二叉树可由给定遍历序列唯一确定。接下来 MMM 行,每行包含两个整数原创 2021-09-10 00:22:47 · 312 阅读 · 0 评论 -
【题解】【AcWing】1636. 最低公共祖先
1636. 最低公共祖先原题传送:AcWing 1636. 最低公共祖先树中两个结点 UUU 和 VVV 的最低公共祖先(LCA)是指同时具有 UUU 和 VVV 作为后代的最深结点。二叉搜索树(BST)递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值它的左、右子树也分别为二叉搜索树现在给定BST中的任意两个结点,请你找出它们的最低公共祖先。输入格式第一行包含两个整数 MMM原创 2021-09-10 00:22:42 · 282 阅读 · 0 评论 -
【题解】【AcWing】1631. 后序遍历
1631. 后序遍历原题传送:AcWing 1631. 后序遍历假设二叉树上各结点的权值互不相同且都为正整数。给定二叉树的前序遍历和中序遍历,请你输出二叉树的后序遍历的第一个数字。输入格式第一行包含整数 NNN ,表示二叉树结点总数。第二行给出二叉树的前序遍历序列。第三行给出二叉树的中序遍历序列。输出格式输出二叉树的后序遍历的第一个数字。数据范围1≤N≤500001 \le N \le 500001≤N≤50000输入样例:71 2 3 4 5 6 72 3 1 5 4 7 6原创 2021-09-10 00:06:56 · 131 阅读 · 0 评论 -
【题解】【AcWing】1620. Z 字形遍历二叉树
1620. Z 字形遍历二叉树原题传送:AcWing 1620. Z 字形遍历二叉树假设一个二叉树上各结点的权值互不相同。我们就可以通过其后序遍历和中序遍历来确定唯一二叉树。请你输出该二叉树的 ZZZ 字形遍历序列----也就是说,从根结点开始,逐层遍历,第一层从右到左遍历,第二层从左到右遍历,第三层从右到左遍历,以此类推。例如,下图所示二叉树,其 ZZZ 字形遍历序列应该为:1 11 5 8 17 12 20 15。输入格式第一行包含整数 NNN ,表示二叉树结点数量。第二行包含 NNN原创 2021-09-10 00:01:40 · 176 阅读 · 0 评论 -
【题解】【AcWing】1609. 前序和后序遍历
1609. 前序和后序遍历原题传送:AcWing 1609. 前序和后序遍历假设一个二叉树上所有结点的权值都互不相同。我们可以通过后序遍历和中序遍历来确定唯一二叉树。也可以通过前序遍历和中序遍历来确定唯一二叉树。但是,如果只通过前序遍历和后序遍历,则有可能无法确定唯一二叉树。现在,给定一组前序遍历和后序遍历,请你输出对应二叉树的中序遍历。如果树不是唯一的,则输出任意一种可能树的中序遍历即可。输入格式第一行包含整数 NNN ,表示结点数量。第二行给出前序遍历序列。第三行给出后序遍历序列。原创 2021-09-09 23:57:52 · 163 阅读 · 0 评论 -
【题解】【AcWing】1576. 再次树遍历
1576. 再次树遍历原题传送:AcWing 1576. 再次树遍历通过使用栈可以以非递归方式实现二叉树的中序遍历。例如,假设遍历一个如下图所示的 666 节点的二叉树(节点编号从 111 到 666 )。则堆栈操作为:push(1);push(2);push(3);pop();pop();push(4);pop();pop();push(5);push(6);pop();pop()。我们可以从此操作序列中生成唯一的二叉树。你的任务是给出这棵树的后序遍历。输入格式第一行包含整数 NNN ,原创 2021-09-09 23:54:04 · 137 阅读 · 0 评论 -
【题解】【AcWing】1527. 判断二叉搜索树
1527. 判断二叉搜索树原题传送:AcWing 1527. 判断二叉搜索树二叉搜索树(BST)递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值它的左、右子树也分别为二叉搜索树我们将二叉搜索树镜面翻转得到的树称为二叉搜索树的镜像。现在,给定一个整数序列,请你判断它是否可能是某个二叉搜索树或其镜像进行前序遍历的结果。输入格式第一行包含整数 NNN ,表示节点数量。第二行包含 N原创 2021-09-09 23:50:48 · 82 阅读 · 0 评论 -
【题解】【AcWing】1497. 树的遍历
1497. 树的遍历原题传送:AcWing 1497. 树的遍历一个二叉树,树中每个节点的权值互不相同。现在给出它的后序遍历和中序遍历,请你输出它的层序遍历。输入格式第一行包含整数 NNN ,表示二叉树的节点数。第二行包含 NNN 个整数,表示二叉树的后序遍历。第三行包含 NNN 个整数,表示二叉树的中序遍历。输出格式输出一行 NNN 个整数,表示二叉树的层序遍历。数据范围1≤N≤301 \le N \le 301≤N≤30输入样例:72 3 1 5 7 6 41 2 3 4原创 2021-09-09 23:46:11 · 162 阅读 · 0 评论 -
【题解】【AcWing】1604. 家产
1604. 家产原题传送:AcWing 1604. 家产这次,需要你帮我们整理关于家庭财产方面的数据。给定每个人的家庭成员以及他/她自己名字下的不动产(地产)信息,我们需要知道每个家庭的成员数,以及人均不动产面积和人均房产套数。输入格式第一行包含整数 NNN 。接下来 NNN 行,每行包含一个拥有房产的人员的信息,格式如下:ID Father Mother k Child_1 ... child_k M_estate Area其中 ID 是每个人的独一无二的 444 位数标识号,Fathe原创 2021-09-09 23:29:14 · 99 阅读 · 0 评论 -
【题解】【AcWing】1597. 社会集群
1597. 社会集群原题传送:AcWing 1597. 社会集群在一些社交网络平台上注册账号时,平台总是会要求你填写自己的兴趣爱好,以便找到一些具有相同兴趣爱好的潜在朋友。社会集群是指一群有共同爱好的人。给定社交网络中所有人的兴趣爱好,请你找到所有社会群集。输入格式第一行包含一个正整数 NNN ,表示社交网络的人数。所有人的编号为 1∼N1 \sim N1∼N 。接下来 NNN 行,每行包含一个人的爱好信息,格式如下:Ki:K_i:Ki: hi[1]h_i[1]hi[1] hi[2原创 2021-09-09 23:10:26 · 211 阅读 · 0 评论 -
【题解】【AcWing】1608. 森林里的鸟
1608. 森林里的鸟原题传送:AcWing 1608. 森林里的鸟一些科学家为森林中成千上万的鸟类拍照。假设所有出现在同一张照片中的鸟都属于同一棵树。请你帮助科学家计算森林中树木的最大数量,对于任何一对鸟类,请判断它们是否在同一棵树上。输入格式第一行包含整数 NNN 表示照片数量。接下来 NNN 行,每行描述一张照片,格式如下:KKK B1B_1B1 B2B_2B2 … BKB_KBKKKK 表示照片中的鸟的数量, BiB_iBi 是鸟的具体编号。保证所有照片中的鸟被连续编原创 2021-09-09 22:51:56 · 162 阅读 · 0 评论 -
【题解】【AcWing】836. 合并集合
836. 合并集合原题传送:AcWing 836. 合并集合一共有 nnn 个数,编号是 1∼n1 \sim n1∼n ,最开始每个数各自在一个集合中。现在要进行 mmm 个操作,操作共有两种:M a b,将编号为 aaa 和 bbb 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;Q a b,询问编号为 aaa 和 bbb 的两个数是否在同一个集合中;输入格式第一行输入整数 nnn 和 mmm 。接下来 mmm 行,每行包含一个操作指令,指令为M a b或Q a原创 2021-09-09 22:29:51 · 708 阅读 · 0 评论