自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

转载 lower_bound&&upper_bound的用法

lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。#include<bits/

2021-11-01 16:58:01 87

原创 图中点的层次

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。所有边的长度都是 1,点的编号为 1∼n。请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1。输入格式第一行包含两个整数 n 和 m。接下来 m 行,每行包含两个整数 a 和 b,表示存在一条从 a 走到 b 的长度为 1 的边。输出格式输出一个整数,表示 1 号点到 n 号点的最短距离。数据范围1≤n,m≤105输入样例:4 51 22 33 41 31 4输出样例:1

2021-10-31 16:06:03 84

原创 树的重心---邻接表版

给定一颗树,树中包含 n 个结点(编号 1∼n)和 n−1 条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。输入格式第一行包含整数 n,表示树的结点数。接下来 n−1 行,每行包含两个整数 a 和 b,表示点 a 和点 b 之间存在一条边。输出格式输出一个整数 m,表示将重心删除后,剩余各个连通块中点数的最大值。数据范围1≤n≤105输入样例

2021-10-31 14:28:36 112

原创 Acwing-走迷宫

*给定一个 n×m 的二维整数数组,用来表示一个迷宫,数组中只包含 0 或 1,其中 0 表示可以走的路,1 表示不可通过的墙壁。*最初,有一个人位于左上角 (1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角 (n,m) 处,至少需要移动多少次。数据保证 (1,1) 处和 (n,m) 处的数字为 0,且一定至少存在一条通路。输入格式第一行包含两个整数 n 和 m。接下来 n 行,每行包含 m 个整数(0 或 1),表示完整的二维数组

2021-10-31 13:24:22 174

原创 n-皇后问题

n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 n,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数 n。输出格式每个解决方案占 n 行,每行输出一个长度为 n 的字符串,用来表示完整的棋盘状态。其中 . 表示某一个位置的方格状态为空,Q 表示某一个位置的方格上摆着皇后。每个方案输出完成后,输出一个空行。注意:行末不能有多余空格。输出方案的顺序任意,只要不重复且没有遗漏即可。

2021-10-31 11:44:53 58

原创 蓝桥杯-----七段码

题目描述:解题心路:在读完这道题,我的思路基本上定格在了图,dfs,并查集上,实际解法也大致相同,但是就是这种思路下实在想不出如何去解决问题,可能是因为我太菜,参考了几个博客之后,我又深思熟虑之后终于有所领悟到其中的精髓,结合图分析:(具体实现直接上代码)代码部分:#include"iostream"using namespace std;int ans,fa[10];//fa[]父亲节点int lamp[10],cn[10][10];//lamp[]表示灯1~7开关void inti()

2021-04-13 17:04:18 195

原创 辗转相除法------gcd(a,a%b)

解析:辗转相除法,又称欧几里得算法,本质其实就是求最大公约数(Greatest Common Divisor)缩写为GCD)所以我们在构造函数时简写为gcd()。证明:a可以表示成 a = kb + r(a,b,k,r 皆为正整数,且r<b),则 r = a mod b假设d是a,b的一个公约数,记作 d|a , d|b ,即 a和 b 都可以被 d 整除。而 r = a - kb,两边同时除以 d,r/d=a/d-kb/d=m,由等式右边可知 m 为整数,因此 r|d因此 d 也是 b

2021-04-11 21:17:46 426 4

原创 PTA-----红色警报【并查集,连通块,类似图】

红色警报 (25 分)战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随...

2021-04-10 23:48:18 149

原创 并查集模板题之压缩路径---家族关系

题目:分析:这也是一道并查集的模板题,但是区别于上一道更简单的模板题----->上一题较简单模板题链接我们这次需要使用路径压缩,因为题目数据比较大且符合路径压缩的需求,具体压缩方式如图:我们将每个节点的父亲节点都让它成为这个集合的老祖宗节点,这样在遍历集合个数的时候就可以直接找到它的老祖宗是否一样来判定他们是否有血缘关系;具体内容如下代码实现:#include"iostream"//本代码主要分析路径压缩,详细参照上述链接模板题using namespace std;const int

2021-04-10 23:16:41 103

原创 并查集模板题—好朋友

题目描述:题目摘至《算法笔记》分析:此题为并查集的模板题,我们先来讲讲何谓并查集,顾名思义合并起来查找的集合,其实并查集可以这样理解(在此之前我们先来看看数组和链表的优缺点)数组与链表的优缺点;数组:优点:使用方便 ,查询效率 比链表高,内存为一连续的区域 缺点:大小固定,不适合动态存储,不方便动态添加链表: 优点:可动态添加删除 大小可变 缺点:只能通过顺次指针访问,查询效率低而并查集正好结合了这两这的优点,使用方便,便于查询,且可以动态存储。下面我们来分

2021-04-10 22:59:43 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除