这题的意思是从每个节点出发,进行dfs,然后找出连通的结点中quiet值最小的那个点,这题采用记忆化搜索,对于每次dfs,返回当前节点及之后节点中quiet值最小的那个节点的编号。若已经访问过,则直接返回ans中的值。
代码:

class Solution {public:int g[505][505];int vis[505];int dfs(vector<vector<int>>& richer, vector<int>&quiet,vector<int>&ans,int v){if(vis[v])return ans[v];        vis[v]=1;int tmp=v; //记录从当前节点开始搜索,quiet值最小的结点编号,初始为自己for(int i=0;i<quiet.size();i++){if(g[v][i]){int q=dfs(richer,quiet,ans,i);if(quiet[q]<quiet[tmp])tmp=q;}} ans[v]=tmp; //更新答案return tmp;}vector<int> loudAndRich(vector<vector<int>>& richer, vector<int>& quiet) {int size=quiet.size();for(auto e:richer)g[e[1]][e[0]]=1;vector<int>ans(size,0);for(int i=0;i<size;i++)dfs(richer,quiet,ans,i);return ans;}
};

LeetCode851. 喧闹和富有(DFS+记忆化搜索)相关推荐

  1. UVA10285 Longest Run on a Snowboard【DFS+记忆化搜索】

    Michael likes snowboarding. That's not very surprising, since snowboarding is really great. The bad ...

  2. dfs记忆化搜索(带限制的选择问题) 讲解:LeetCode打家劫舍||| / 蓝桥 地宫取宝/蓝桥 k进制数//剪格子//方格分割

    记忆化递归的必要性: 普通的递归可能会重复求解某一值,类似斐波那契数列.同样的子问题可能会被求解多次,这样就会很慢很慢很慢 解决方法:我们把历史求解(子问题)记录下来,如果下次需要求解子问题,那么直接 ...

  3. DFS——记忆化搜索——动态规划

    以洛谷P1802  5倍经验日 为例 https://www.luogu.org/problem/show?pid=1802 题目背景 现在乐斗有活动了!每打一个人可以获得5倍经验!absi2011却 ...

  4. 8636 跳格子(dfs+记忆化搜索)

    8636 跳格子 该题有题解 时间限制:2457MS  内存限制:1000K 提交次数:139 通过次数:46 题型: 编程题   语言: G++;GCC Description 地上有一个n*m 的 ...

  5. 牛客假日团队赛5 F 随机数 BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数 (dfs记忆化搜索的数位DP)...

    链接:https://ac.nowcoder.com/acm/contest/984/F 来源:牛客网 随机数 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...

  6. 递归 dfs 记忆化搜索 动态规划

    今天做洛谷P1434 [SHOI2002]滑雪 的时候仔细想了想记忆化搜索 现在总结一下 为了描述问题的某一状态,必须用到该状态的上一状态,而描述上一状态,又必须用到上一状态的上一状态--这种用自已来 ...

  7. POJ1088 Bailian1088 滑雪【DFS+记忆化搜索】

    滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 114685 Accepted: 43807 Description Mic ...

  8. 蓝桥杯 地宫取宝【第五届】【省赛】【C组】C++ dfs 记忆化搜索

    资源限制 时间限制:1.0s   内存限制:256.0MB X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被 ...

  9. 蓝桥杯 ALGO-1005 数字游戏 DFS记忆化搜索+剪枝+杨辉三角 python

    题目 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字. 例如: 3 1 2 4 4 3 ...

  10. P2217-[HAOI2007]分割矩阵【dfs,记忆化搜索】

    正题 题目链接:https://www.luogu.org/problem/P2217 题目大意 a∗ba*ba∗b的矩阵,分成nnn个矩阵,求每个矩阵均方差最小,求答案. 解题思路 切n−1n-1n ...

最新文章

  1. 丢人了!英伟达抄代码也就算了,竟然把人家的License都改成自己的
  2. 大规模落地:AI安防仍存两大痛点
  3. linq lambda 分组后排序
  4. Bootstrap框架系列 - 初识
  5. Springboot分模块开发详解(2):建立子工程
  6. c++ h cpp文件如何关联_C++核心准则SF.5: .cpp文件必须包含定义它接口的.h文件
  7. 40个极简WordPress主题
  8. Git-Git库管理
  9. 01-源代码管理工具的介绍
  10. java 数组溢出异常,Java数组超出范围时如何处理多个异常?
  11. ROST情感分析的语法规则_NLP技术之句法分析
  12. 《参禅与悟道》——浅谈人生
  13. 电脑桌面运维工程师考证
  14. [译] Kotlin Flow 官方 Guide 指南(2021-06-13)翻译
  15. MOOS-ivp 实验十四(1)编写行为使命
  16. c语言和c++实现层序遍历
  17. 重邮计算机专业毕业月薪多少,高校就业质量报告⑥ | 重庆邮电大学2020届毕业生月均收入6800元...
  18. (洛谷)P4995 跳跳!
  19. vue 格式化数值方法
  20. 初学Springboot使用MyBatis-Plus出现Invalid bound statement (not found)的解决

热门文章

  1. 2019中国有望率先实现拎包入住3D打印房屋 1
  2. Swing学习的三种境界
  3. 新配置ifcfg-en33文件的VMware虚拟机重启之后网路无法ping通
  4. ffmpeg从视频中提取缩略图 合成九宫格
  5. 视频:Chromebook简评 基于ARM芯片性价比高
  6. InvalidArgumentError (see above for traceback): logits and labels must be same size:
  7. 十一月大带宽服务器怎么选
  8. 从ENIAC到现代计算机硬件结构---计算机组成原理学习心得01
  9. 每日一练:加特林大战僵尸
  10. 装黑苹果系统 VirtualBOX 虚拟机安装 OS X 10.9 Mavericks 及 Xcode 5,本人X220亲测