DeepSeek    LeetCode 3559. 给边赋权值的方案数 II Java实现
根据题目要求对于树中任意两个节点 u 和 v路径长度为 d边数使路径总代价为奇数的赋值方案数为 2^(d-1)。因此核心问题转化为快速求树上两点距离。以下是 Java 实现使用二进制提升Binary Lifting 求 LCA预处理 O(n log n)单次查询 O(log n)javaclass Solution {private static final int MOD 1_000_000_007;private ListListInteger graph;private int[] depth;private int[][] up;public int[] assignEdgeWeights(int[][] edges, int[][] queries) {int n edges.length 1;// 1. 建图graph new ArrayList();for (int i 0; i n; i) graph.add(new ArrayList());for (int[] e : edges) {int u e[0] - 1, v e[1] - 1;graph.get(u).add(v);graph.get(v).add(u);}// 2. 预处理深度 倍增表int LOG 32 - Integer.numberOfLeadingZeros(n); // ceil(log2(n)) 1depth new int[n];up new int[n][LOG];dfs(0, -1);// 3. 预处理 2 的幂次int[] pow2 new int[n 1];pow2[0] 1;for (int i 1; i n; i) {pow2[i] (int)((long)pow2[i - 1] * 2 % MOD);}// 4. 处理每个查询int q queries.length;int[] ans new int[q];for (int i 0; i q; i) {int u queries[i][0] - 1, v queries[i][1] - 1;int lca findLca(u, v);int dist depth[u] depth[v] - 2 * depth[lca];ans[i] dist 0 ? 0 : pow2[dist - 1];}return ans;}// DFS 构建深度和倍增表private void dfs(int node, int parent) {up[node][0] parent -1 ? node : parent;for (int j 1; j up[0].length; j) {up[node][j] up[up[node][j - 1]][j - 1];}for (int nei : graph.get(node)) {if (nei parent) continue;depth[nei] depth[node] 1;dfs(nei, node);}}// 将节点向上提升 diff 步private int lift(int node, int diff) {for (int j 0; diff 0; j, diff 1) {if ((diff 1) 1) node up[node][j];}return node;}// 求 LCAprivate int findLca(int u, int v) {if (depth[u] depth[v]) {int tmp u; u v; v tmp;}v lift(v, depth[v] - depth[u]);if (u v) return u;for (int j up[0].length - 1; j 0; j--) {if (up[u][j] ! up[v][j]) {u up[u][j];v up[v][j];}}return up[u][0];}}复杂度分析· 时间复杂度预处理 O(n log n)每个查询 O(log n)· 空间复杂度O(n log n)核心思路补充为什么答案是 2^(d-1)路径上 d 条边每条可选 1 或 2。要让总和为奇数等价于从 d 条边中选奇数条赋值为 1其余为 2。d 个元素中选奇数个的组合数之和 2^(d-1)。

相关新闻

DeepSeek    LeetCode 3559. 给边赋权值的方案数 II Python3实现

DeepSeek LeetCode 3559. 给边赋权值的方案数 II Python3实现

根据题目要求,对于树中任意两个节点 u 和 v,路径长度为 d(边数),使路径总代价为奇数的赋值方案数为 2^(d-1)。因此核心是快速求树上两点距离。Python3 实现python class Solution:MOD 10**9 7def assignEdgeWeights(…

2026/7/15 20:55:13阅读更多 →
TDA2Px SoC异构计算架构与接口调试实战指南

TDA2Px SoC异构计算架构与接口调试实战指南

1. TDA2Px SoC:汽车电子异构计算的集大成者 在汽车电子,尤其是高级驾驶辅助系统(ADAS)领域,性能、功耗和实时性之间的平衡是一场永无止境的博弈。传统的单一架构处理器,无论是通用CPU还是专用DSP&#xff0…

2026/7/15 20:50:13阅读更多 →
GraphQL全功能越权漏洞:从密码重置到系统权限崩塌的深度剖析

GraphQL全功能越权漏洞:从密码重置到系统权限崩塌的深度剖析

1. 从一次“简单”的密码重置漏洞说起最近在做一个内部系统的渗透测试,目标系统采用了 GraphQL 作为 API 接口。一开始,我像往常一样,用自动化工具扫了一遍,报告里弹出了几个“低危”或“中危”的漏洞,其中就包括一个“…

2026/7/15 20:50:13阅读更多 →
【法律人AI提效秘籍】:3步用ChatGPT自动提取判例核心要件,准确率提升92%(实测司法文书库)

【法律人AI提效秘籍】:3步用ChatGPT自动提取判例核心要件,准确率提升92%(实测司法文书库)

更多请点击: https://codechina.net 第一章:ChatGPT整理判例要点的底层逻辑与司法语义适配原理 ChatGPT在判例分析任务中并非简单地执行关键词匹配或模板填充,而是依托三层协同机制实现法律文本的深度理解:领域感知的预训练语义空…

2026/7/15 21:55:20阅读更多 →
需求失焦=成本暴增!用ChatGPT做需求提炼前,必须完成这7项前置可信度校验

需求失焦=成本暴增!用ChatGPT做需求提炼前,必须完成这7项前置可信度校验

更多请点击: https://intelliparadigm.com 第一章:需求失焦的本质与成本失控的底层逻辑 需求失焦并非源于沟通不畅或文档缺失,而是系统性反馈机制失效的结果——当产品演进脱离真实用户行为数据,仅依赖主观假设迭代时&#xff0c…

2026/7/15 21:55:20阅读更多 →
Cesium OGC- wms服务教程

Cesium OGC- wms服务教程

OGC- wms服务 OGC- wms服务 ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 Scene / Camera…

2026/7/15 21:55:20阅读更多 →
C++/OpenCV 配置进阶:从“无法打开源文件”到正确引入opencv_contrib模块

C++/OpenCV 配置进阶:从“无法打开源文件”到正确引入opencv_contrib模块

1. 理解OpenCV核心库与contrib模块的关系第一次接触OpenCV时&#xff0c;很多人都会疑惑为什么有些功能能用而有些功能会报错。比如当你满怀信心地写下#include <opencv2/tracking.hpp>准备实现目标跟踪功能时&#xff0c;编译器却无情地抛出"无法打开源文件"的…

2026/7/15 21:55:20阅读更多 →
【数据挖掘实战】从购物篮到推荐系统:Apriori与FP-Growth算法Python全解析

【数据挖掘实战】从购物篮到推荐系统:Apriori与FP-Growth算法Python全解析

1. 从"啤酒与尿布"说起&#xff1a;频繁模式挖掘的商业价值 1990年代&#xff0c;沃尔玛的工程师在分析销售数据时发现一个有趣现象&#xff1a;啤酒和尿布经常出现在同一张购物小票上。经过调查发现&#xff0c;年轻父亲们常在购买婴儿用品时顺手带走几罐啤酒。这个…

2026/7/15 21:55:20阅读更多 →
遗传算法实战:N皇后问题的Python工程实现与调优

遗传算法实战:N皇后问题的Python工程实现与调优

1. 这不是教科书&#xff0c;而是一次真实的GA工程复盘&#xff1a;从Matlab到Python的N皇后实战手记你点开这篇文章&#xff0c;大概率不是为了背诵“遗传算法是模拟生物进化过程的优化方法”这种定义。你真正想搞懂的是&#xff1a;当一个真实问题——比如100个皇后怎么在100…

2026/7/15 21:50:20阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比&#xff1a;全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时&#xff0c;第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/15 6:42:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件&#xff1a;5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/15 6:12:45阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL&#xff1a;跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/15 10:54:00阅读更多 →
AI框架决定企业AI能走多远

AI框架决定企业AI能走多远

企业AI建设的第一性原理 企业搞AI&#xff0c;最关键的决定是什么&#xff1f;不是选哪家大模型&#xff0c;不是先做哪个场景&#xff0c;不是招多少AI人才——而是选哪个AI开发框架。 为什么&#xff1f;因为框架决定了企业AI能力的"天花板"。选对了框架&#xff0…

2026/7/15 0:01:30阅读更多 →
Java企业为什么需要AI框架

Java企业为什么需要AI框架

Java企业在AI时代的尴尬处境 Java是全球企业级应用开发的主流语言——全球超过一半的企业系统跑在Java上。但在AI浪潮面前&#xff0c;很多Java企业感到尴尬&#xff1a;大模型的接口是各种语言的&#xff0c;AI开发社区以其他语言为主流&#xff0c;似乎Java在AI时代"掉队…

2026/7/15 0:01:30阅读更多 →
CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

1. 项目概述&#xff1a;为什么需要关注CC3230x的SD主机、定时器与低功耗&#xff1f;在物联网和嵌入式设备开发领域&#xff0c;我们常常面临一个核心矛盾&#xff1a;设备需要具备强大的连接能力、可靠的数据存储和实时控制功能&#xff0c;同时又必须严格控制功耗以延长电池…

2026/7/15 0:01:30阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/15 15:50:47阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/15 8:52:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/15 14:06:23阅读更多 →