代码随想录图论part03

第十一章:图论part03

  1. 孤岛的总面积 (深搜)

代码随想录

孤岛问题:先处理边缘岛在处理孤岛

  1. 沉没孤岛 (广搜)

代码随想录

  1. 水流问题

代码随想录

目的:找水源

思路;逆向思考,找两个边界的公共源头,从第一边界出发找到所有源头,再从第二边界出发找到所有源头,重叠处即为目标

main:

深搜:

广搜:

104.建造最大岛屿

代码随想录

思路:首先找到目前最大面积的岛屿,然后遍历岛屿周边的海洋,然后找到以某一片海洋为中心的岛屿面积的最大值

第一步:

用一个map存岛屿及岛屿面积

计算岛屿面积并给他们编号

深搜(计算面积并标记):

整体代码:

第二步:

1.遍历岛屿周边海洋,岛屿已经有编号,获得周围连接岛屿总面积,根据编号查表

2.需要一个哈希来记录添加的新陆地周边(上右下左)已经计算过的岛屿编号,防止重复计算(例如,新陆地的左边和下边是同一片岛屿,这时候就得跳过左边),每次遇到新陆地就要清空该表,动态变化

整体代码:

总结:

  1. 前三道题都是逆向思考,从外向内
  2. 建造最大岛屿:第一步已经把整张图划分为几个区域,第二步就是整合区域然后找最大区域,每一步都有标记的过程,注意处理条件
相关推荐
Snow_day.11 小时前
有关排列排列组合(1)
数据结构·算法·贪心算法·动态规划·图论
初晴や1 天前
【C++】图论:基础理论与实际应用深入解析
c++·算法·图论
闻缺陷则喜何志丹2 天前
【图论 DFS 换根法】3772. 子图的最大得分|2235
c++·算法·深度优先·力扣·图论·换根法
君义_noip3 天前
信息学奥赛一本通 2134:【25CSPS提高组】道路修复 | 洛谷 P14362 [CSP-S 2025] 道路修复
c++·算法·图论·信息学奥赛·csp-s
罗湖老棍子3 天前
信使(msner)(信息学奥赛一本通- P1376)四种做法
算法·图论·dijkstra·spfa·floyd·最短路算法
修炼地4 天前
代码随想录算法训练营第五十三天 | 卡码网97. 小明逛公园(Floyd 算法)、卡码网127. 骑士的攻击(A * 算法)、最短路算法总结、图论总结
c++·算法·图论
罗湖老棍子4 天前
【例4-6】香甜的黄油(信息学奥赛一本通- P1345)
算法·图论·dijkstra·floyd·最短路算法·bellman ford
--JR5 天前
015——图(1.图的相关概念与存储)
数据结构·c++·算法·链表·图论
闻缺陷则喜何志丹6 天前
【二分查找 图论】P10206 [JOI 2024 Final] 建设工程 2|普及+
c++·算法·二分查找·图论·洛谷
surtr18 天前
全源最短路封装模板(APSP,Floyd求最小环,Floyd求最短路,Johnson算法)
c++·算法·数学建模·动态规划·图论