当前位置: 首页 > news >正文

【Leetcode】1857. Largest Color Value in a Directed Graph

题目地址:

https://leetcode.com/problems/largest-color-value-in-a-directed-graph/description/

给定给一个n nn个顶点的无权有向图,每个顶点有个颜色。一条路径的颜色数定义为其所有顶点里,颜色使用频率最高的那个颜色的使用频率。问所有路径中,颜色数最大是多少。如果有环则返回− 1 -11

f [ u ] [ c ] f[u][c]f[u][c]是以u uu结尾的所有路径中c cc的最高频率。由于同一个路径,如果起点能延伸的话,对于每个颜色的频率都有可能增长,所以我们肯定希望路径越长越好。我们考虑用拓扑排序来做,在分层图上做递推,显然当u uu的颜色不为c cc时,f [ u ] [ c ] = max ⁡ v → u { f [ v ] [ c ] } f[u][c]=\max_{v\to u} \{f[v][c]\}f[u][c]=maxvu{f[v][c]};否则f [ u ] [ c ] = 1 + max ⁡ v → u { f [ v ] [ c ] } f[u][c]=1+\max_{v\to u} \{f[v][c]\}f[u][c]=1+maxvu{f[v][c]}。同时拓扑排序还需要记录有没有环。如果没有环的话,最终答案就是max ⁡ u , c f [ u ] [ c ] \max_{u,c} f[u][c]maxu,cf[u][c]。代码如下:

classSolution{public:intlargestPathValue(string&col,vector<vector<int>>&es){intn=col.size(),m=es.size();vector<int>h(n,-1),e(m),ne(m),ind(n);intidx=0;autoadd=[&](inta,intb){e[idx]=b,ne[idx]=h[a],h[a]=idx++;};for(auto&e:es){add(e[0],e[1]);ind[e[1]]++;}vector<array<int,26>>cnt(n,array<int,26>{});queue<int>q;for(inti=0;i<n;i++)if(!ind[i])q.push(i);intres=0,vis_cnt=0;while(q.size()){intu=q.front();q.pop();vis_cnt++;intcu=col[u]-'a';cnt[u][cu]++;res=max(res,cnt[u][cu]);for(inti=h[u];~i;i=ne[i]){intv=e[i],cv=col[v]-'a';for(intc=0;c<26;c++)cnt[v][c]=max(cnt[v][c],cnt[u][c]);if(!--ind[v])q.push(v);}}returnvis_cnt==n?res:-1;}};

时空复杂度O ( n + m ) O(n+m)O(n+m)

http://www.cnnetsun.cn/news/141422.html

相关文章:

  • MLX 有多快?在 8 个苹果硅芯片和 4 个 CUDA GPU 上的全面基准测试
  • 生产就绪特性-从开发到部署的完整解决方案
  • 【前端知识点总结】Promise的介绍
  • 2026年河北省职业院校技能大赛“网络系统管理”(高职组)系统服务-Linux部署样题
  • 当 AI 写论文遭遇 “答辩级拷问”:9 款主流工具的生死考验
  • 科研人的 “数据魔咒”:明明数据在手,却挖不出核心结论
  • [特殊字符] 写论文软件哪个好?先看毕业党最在意的 4 大核心标准
  • 历年贵州大学计算机保研复试机试真题
  • AI产业融合纵深发展,治理创新护航智能未来
  • 生成式AI重构内容生态,人机协同定义创作新范式
  • 软件世界的契约:理解开源协议的逻辑与边界
  • vue和springboot框架开发的小程序 智能包裹配送服务管理系统_q3k407ra
  • C 语言输入与输出(I/O)详解
  • 软件测试成本的多维解析与优化路径
  • 5-脱氧-L-阿拉伯糖—结构独特的稀有单糖,药物设计与合成化学的宝贵砌块 CAS:13039-56-0
  • 2-乙酰胺基-1,3,4,6-四-O-乙酰基-2-脱氧-5-硫代-α-D-吡喃葡萄糖 —— 糖化学与药物研发的关键砌块 CAS:67561-97-1
  • 群体分析如何改变你的客户洞察
  • 别再为BGM被下架了,可以生成带声音且无版权素材的AI,真的来了
  • vue和springboot框架开发的校园商店零售管理系统_pt87nuk3
  • vue和springboot框架开发的校园智能AI问答技术的快递物流管理系统_5kf8to85
  • 文件句柄数超限
  • 如何用 Oracle 的账号和权限来连接 ZooKeeper 的客户端认证、ACL 绑定到身份 2 个概念
  • 艾宝体案例 | 以人为本、灵活赋能:Spectris携手KnowBe4打造高效安全意识与合规培训体系
  • 面向2025:融合AI安全的网络安全学习路线与技能清单
  • 迎战2026:网络安全从业者必须掌握的核心技能与实战路线图
  • python-uniapp微信小程序的字典词韵查询系统的设计与实现_79zfkl8b
  • 7个免费网站帮你降低论文AI率,通过万方AIGC查重,亲测有效
  • 【Java毕设全套源码+文档】基于springboot的拍卖管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 基于开源AI智能名片链动2+1模式多商户商城小程序的销售工作性质与能力要求研究
  • 科研人都懂的绘图痛:你是否还在为这些问题熬夜?