代码随想录图论part03

第十一章:图论part03

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

代码随想录

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

  1. 沉没孤岛 (广搜)

代码随想录

  1. 水流问题

代码随想录

目的:找水源

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

main:

深搜:

广搜:

104.建造最大岛屿

代码随想录

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

第一步:

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

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

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

整体代码:

第二步:

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

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

整体代码:

总结:

  1. 前三道题都是逆向思考,从外向内
  2. 建造最大岛屿:第一步已经把整张图划分为几个区域,第二步就是整合区域然后找最大区域,每一步都有标记的过程,注意处理条件
相关推荐
一条大祥脚10 小时前
2021-2022 ICPC Southwestern Europe Regional Contest
算法·深度优先·图论
闻缺陷则喜何志丹16 小时前
【图论 树 启发式合并】P7165 [COCI2020-2021#1] Papričice|普及+
c++·算法·启发式算法·图论··洛谷
故事和你9116 小时前
洛谷-【图论2-4】连通性问题1
开发语言·数据结构·c++·算法·动态规划·图论
爱炼丹的James16 小时前
第三章 搜索和图论
数据结构·算法·图论
故事和你9117 小时前
洛谷-【图论2-4】连通性问题2
开发语言·数据结构·c++·算法·动态规划·图论
故事和你912 天前
洛谷-【图论2-3】最小生成树1
开发语言·数据结构·c++·算法·动态规划·图论
故事和你912 天前
洛谷-【图论2-3】最小生成树2
开发语言·数据结构·c++·算法·动态规划·图论
khalil10202 天前
代码随想录算法训练营Day-55 图论06 | 108.冗余连接、109.冗余连接II
c++·算法·leetcode·图论·并查集
故事和你913 天前
洛谷-【图论2-2】最短路4
开发语言·数据结构·c++·算法·动态规划·图论
ccLianLian3 天前
图论·刷题总结
算法·深度优先·图论