DeepSeek    LeetCode LCP 16. 游乐园的游览计划 Java实现
这道题的核心是在无向图中找到两个共享顶点A的三角形A-B-C-A 和 A-B-C-A使得它们覆盖的不同顶点权值之和最大。由于数据规模较大顶点和边最多10000暴力枚举所有三角形会超时通常采用根号分治来优化。Java实现代码javaimport java.util.*;class Solution {public int maxWeight(int[][] edges, int[] value) {int n value.length;// 1. 建图邻接表用于遍历 邻接矩阵用于快速判断边是否存在ListInteger[] graph new List[n];boolean[][] hasEdge new boolean[n][n];for (int i 0; i n; i) graph[i] new ArrayList();for (int[] e : edges) {int u e[0], v e[1];graph[u].add(v);graph[v].add(u);hasEdge[u][v] hasEdge[v][u] true;}// 2. 根号分治度数 limit 的为“大点”否则为“小点”int limit (int) Math.sqrt(n);boolean[] isBig new boolean[n];for (int i 0; i n; i) {if (graph[i].size() limit) isBig[i] true;}// 存储每个顶点参与的三角形只存顶点三元组和权值和Listint[][] triByVertex new List[n];for (int i 0; i n; i) triByVertex[i] new ArrayList();// 3. 枚举所有三角形// 3.1 枚举小点 v枚举其两个邻居 a, b检查 a,b 是否相连for (int v 0; v n; v) {if (isBig[v]) continue;ListInteger adj graph[v];for (int i 0; i adj.size(); i) {for (int j i 1; j adj.size(); j) {int a adj.get(i), b adj.get(j);if (hasEdge[a][b]) {int sum value[v] value[a] value[b];triByVertex[v].add(new int[]{v, a, b, sum});triByVertex[a].add(new int[]{v, a, b, sum});triByVertex[b].add(new int[]{v, a, b, sum});}}}}// 3.2 枚举大点枚举任意三个大点检查是否两两相连ListInteger bigNodes new ArrayList();for (int i 0; i n; i) if (isBig[i]) bigNodes.add(i);for (int i 0; i bigNodes.size(); i) {for (int j i 1; j bigNodes.size(); j) {for (int k j 1; k bigNodes.size(); k) {int a bigNodes.get(i), b bigNodes.get(j), c bigNodes.get(k);if (hasEdge[a][b] hasEdge[a][c] hasEdge[b][c]) {int sum value[a] value[b] value[c];triByVertex[a].add(new int[]{a, b, c, sum});triByVertex[b].add(new int[]{a, b, c, sum});triByVertex[c].add(new int[]{a, b, c, sum});}}}}// 4. 计算答案枚举公共顶点 A找两个最优三角形组合int ans 0;for (int a 0; a n; a) {Listint[] tris triByVertex[a];if (tris.size() 2) {// 只有一个三角形时只能游玩一个答案就是该三角形的权值和if (tris.size() 1) ans Math.max(ans, tris.get(0)[3]);continue;}// 按权值和降序排序只需考虑前几个tris.sort((x, y) - y[3] - x[3]);// 尝试前 min(5, size) 个组合通常足够for (int i 0; i Math.min(5, tris.size()); i) {for (int j i 1; j Math.min(5, tris.size()); j) {int[] t1 tris.get(i), t2 tris.get(j);SetInteger set new HashSet();set.add(t1[0]); set.add(t1[1]); set.add(t1[2]);set.add(t2[0]); set.add(t2[1]); set.add(t2[2]);int sum 0;for (int node : set) sum value[node];ans Math.max(ans, sum);}}}return ans;}}复杂度分析· 时间复杂度O(N√N)在 N10000 的规模下可接受。· 空间复杂度O(N M)用于存储图、邻接矩阵及三角形信息。核心思路1. 问题转化将游玩路径抽象为两个共享顶点 A 的三角形。2. 高效找三角形利用“根号分治”平衡大小顶点的枚举开销避免 O(N^3) 的暴力。3. 枚举组合对每个顶点 A枚举其参与的所有三角形取两个去重后权值和最大的组合。4. 剪枝优化只需考虑每个顶点下权值和最大的前几个三角形进行组合无需全量枚举。

相关新闻

Face Director插件实战:四大后期软件自动化面部动画全流程指南

Face Director插件实战:四大后期软件自动化面部动画全流程指南

在实际视频后期制作中,手动逐帧调整角色面部表情是一项极其耗时且对动画师要求极高的工作。无论是影视特效、广告包装还是短视频创作,让角色的口型与台词精准匹配,或者让面部表情跟随音乐节奏自然变化,都是提升作品专业度的关键。…

2026/8/21 8:10:07 阅读更多 →
动态定价监控实战:从原理到Python实现峰谷价格提醒系统

动态定价监控实战:从原理到Python实现峰谷价格提醒系统

你是不是也遇到过这种情况:在电商平台下单时,明明看到的是“优惠价”,结算时却发现总价莫名多了几块甚至几十块?或者,在订阅服务时,被复杂的“基础费服务费峰时溢价”搞得晕头转向,根本算不清自…

2026/8/21 8:10:07 阅读更多 →
数学建模C题解题核心:从题干文字到数学模型的三阶解码

数学建模C题解题核心:从题干文字到数学模型的三阶解码

1. 这道C题不是考数学,是考“把现实问题翻译成模型语言”的能力第十六届“华中杯”大学生数学建模挑战赛C题一公布,不少参赛队第一反应是翻教材、查公式、找现成算法——结果三天过去,模型还在纸上画框图,数据还没理清头绪。我带过…

2026/8/21 8:09:07 阅读更多 →

最新新闻

PFTrack 2017 Windows版下载与详细安装指南(含图文步骤+实操视频教程)

PFTrack 2017 Windows版下载与详细安装指南(含图文步骤+实操视频教程)

温馨提示:文末有联系方式 PFTrack 2017 Windows专业版全面介绍 PFTrack 2017是业界公认的高精度三维摄像机反求与动态物体跟踪解决方案,专为影视后期、VFX特效合成及动态匹配需求深度优化,支持Windows平台稳定运行。 一键直达:高…

2026/8/21 9:00:48 阅读更多 →
Java面试技巧:技术表达与八股文实战指南

Java面试技巧:技术表达与八股文实战指南

1. Java面试表达技巧的核心价值 程序员的技术能力与面试表现往往存在巨大落差。我见过太多候选人,明明技术实力扎实,却因为表达问题错失offer。特别是在Java领域,面试官不仅考察你的编码能力,更关注你如何阐述技术决策、解决问题的…

2026/8/21 9:00:48 阅读更多 →
SpringBoot+Vue+Node.js校园招聘系统开发实践

SpringBoot+Vue+Node.js校园招聘系统开发实践

1. 项目背景与核心需求 校园招聘系统是连接高校与企业的重要桥梁,传统的线下招聘模式存在信息不对称、效率低下等问题。这个基于SpringBootVueNode.js的应届毕业生校园招聘系统,正是为了解决以下痛点: 信息孤岛问题 :学生简历分…

2026/8/21 9:00:48 阅读更多 →
FNF模组体验指南:从Tabi神曲到社区自制内容运行

FNF模组体验指南:从Tabi神曲到社区自制内容运行

这次我们来看一个基于《Friday Night Funkin》(FNF)游戏模组的音乐视频项目。这个项目的主角是角色“Tabi”演唱游戏中的一首隐藏曲目,因其极高的难度和独特的音乐风格,被社区玩家标记为“神曲警告”。对于FNF玩家和模组爱好者来说…

2026/8/21 9:00:47 阅读更多 →
数据结构(线性结构三)

数据结构(线性结构三)

2. 循环队列如上图,普通的顺序队列存在假溢出问题,所以一般使用循环队列。循环队列:使用顺序结构存储队列数据时,为了避免假溢出,使得顺序队列成为一种尾首相接的存储方式。循环队列判空:head tail循环队列…

2026/8/21 9:00:47 阅读更多 →
C#实现最小二乘法:从数学原理到工业级代码实战

C#实现最小二乘法:从数学原理到工业级代码实战

1. 从一行公式到可运行代码:最小二乘法的C#实战拆解“最小二乘法C#实现,简单代码”——这个标题背后,是无数刚接触数据分析、机器学习或工程拟合的开发者和学生最朴素的需求。我们可能都见过那个经典的公式,或者知道它在Excel里点…

2026/8/21 8:59:47 阅读更多 →

日新闻

机场边检旅客定位系统国产化白皮书:算法、硬件、底座平台全程自主

机场边检旅客定位系统国产化白皮书:算法、硬件、底座平台全程自主

前言随着国家数字基础设施信创替代、关键技术自主可控战略持续深化,口岸智慧安防、边检智能管控领域正全面进入国产化、自主化、安全可控升级周期。当前国内机场边检旅客识别与定位体系长期依赖国外商用视觉算法、进口成像硬件、闭源通用计算平台,存在核…

2026/8/21 0:00:42 阅读更多 →
别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱

别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱

别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱当下数字化建设浪潮中,很多项目将三维可视化、视频贴图叠加的数字孪生等同于空间智能。传统数字孪生更多停留在三维场景复刻,擅长把物理世界“画出来、展示出来”,…

2026/8/21 0:00:42 阅读更多 →
105、车载温度范围-40°C到85°C的影像质量一致性——ISP参数温漂补偿与产线标定策略

105、车载温度范围-40°C到85°C的影像质量一致性——ISP参数温漂补偿与产线标定策略

105、车载温度范围-40C到85C的影像质量一致性——ISP参数温漂补偿与产线标定策略 去年冬天在北方某车厂做A样评审,凌晨四点的黑河试验场,零下三十三度。客户拿了一台冷启动的车,中控屏上倒车影像全是雪花噪点,暗部细节直接糊成一片。我第一反应是sensor温度没上来,暗电流…

2026/8/21 0:00:42 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/21 0:02:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/20 6:11:08 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/20 21:46:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/21 0:14:22 阅读更多 →