![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
啊哈算法
文章平均质量分 61
疯疯癫癫才自由
这个作者很懒,什么都没留下…
展开
-
PAT A1013 Battle Over Cities分数 25(连通块数量,割点是针对连通块的,不是整个图)
1013 Battle Over Cities分数 25作者 CHEN, Yue单位 浙江大学It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need原创 2022-11-20 17:44:48 · 286 阅读 · 0 评论 -
水管工游戏(啊哈算法)
【代码】水管工游戏(啊哈算法) 一块矩形土地被分成 N*M 的单位正方形,现在这块土地已经埋有一些水管,水管将从坐标为 (1,1)的红矩形土地的左上角 左部边缘,延伸到坐标为(N,M)的矩形土地的右下角右部边缘。水管只有两种,弯管或者直管; 弯管表示为1到4,直管表示为5,6,树木为0; 请编写程序判断该地图是否能得到合理的水管路线;如果能,打印出路径;如果不能,输出impossible。 分析:既然,弯管与直管可以通过变换摆放方式来调整方向,那么我们必定要将(x原创 2022-10-02 17:54:26 · 1088 阅读 · 0 评论 -
求图的割点,割边(啊哈算法)
【代码】求图的割点,割边(啊哈算法) 时间戳:深度优先遍历时,访问每个节点的先后顺序从 1到n; 使用 num[] 来记录每个顶点的先后顺序; 满足割点的条件:子节点 v 不经过父节点 u 是不能达到u的祖宗节点的(也就是已经被访问 的那些节点); 使用 low[] 来记录每个节点不经过父节点能到达的最早顶点的时间戳; 因此满足割点的结点是: low[v] >= num[u] ;意思是子节点v不经过父节点u能到达的最早时间 戳也不过是u,那么把u去掉原创 2022-10-01 18:31:33 · 343 阅读 · 0 评论 -
二分图及最大匹配
if(match[v]==0 || dfs(match[v])) //v还未被匹配或者给v换一个对象能够成功。* v的对象match[v],看他是否有其他中意的人,让他去找其他人,如果能找到,那就让。if(hs[v]==0 && G[u][v]==1) //v还未被访问。行,每行包含两个整数 u 和 v,表示左半部点集中的点 u 和右半部点集中的点 v。* match[v]和他中意的那个人,而v就从现任变为前任,转而让u和v在一起;行,每行包含两个整数 u 和 v,表示点 u 和点 v。原创 2022-09-08 16:49:34 · 261 阅读 · 0 评论 -
12035. 宝岛探险(着色法,Floodfill漫水填充法)
钓鱼岛由一个主岛和一些附属岛屿组成,小哼决定去钓鱼岛探险。下面这个10*10的二维矩阵就是钓鱼岛的航拍地图。图中数字表示海拔,0表示海洋,1~9都表示陆地。小哼的飞机将会降落在(6,8)处,现在需要计算出小哼降落所在岛的面积(即有多少个格子)。求一个图中独立子图的问题,据说叫做 Floodfill漫水填充法,也称为种子填充法;一行4个整数,前两个整数表示n行m列,后两个整数表示降落的坐标x行y列。简单,对每个独立的小岛进行着色,也就是图的遍历问题;接下来n行,每行m列,整数之间用空格隔开表示地图。原创 2022-09-07 16:56:29 · 289 阅读 · 0 评论