[Non]树上乘法

[Non]树上乘法

大意

给定若干次操作,每次将 \(u \to v\) 的路径上的点的点权值都乘上 \(k\),最终求最大的边的编号。

思路

显然,你一直乘法一定会炸,对于加法运算,我们可以转化为加法与减法进行差分,对于乘法,我们是否可以考虑转为加法呢?答案是可以,转化为对数运算不就行了吗,每次加上 \(\log(k)\),这样不就不会超出范围了嘛。

然后,依旧树上差分,直接做就好。

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 300010;
vector<int> g[N];
int fa[N][23], dep[N], n, q;
void dfs(int u) {for (int i = 0; i < g[u].size(); i++) {int v = g[u][i];if (v == fa[u][0]) continue;fa[v][0] = u;dep[v] = dep[u] + 1;dfs(v);}
}
void initLca() {for (int i = 1; i <= 22; ++i) {for (int j = 1; j <= n; ++j) {fa[j][i] = fa[fa[j][i - 1]][i - 1];}}return;
}
int lca(int x, int y) {if (dep[x] < dep[y]) swap(x, y);for (int i = 22; i >= 0; i--)if (dep[fa[x][i]] >= dep[y]) x = fa[x][i];if (x == y) return x;for (int i = 22; i >= 0; i--)if (fa[x][i] != fa[y][i]) x = fa[x][i], y = fa[y][i];return fa[x][0];
}
double val[N];
void dfs2(int u) {for (int i = 0; i < g[u].size(); i++) {int v = g[u][i];if (v == fa[u][0]) continue;dfs2(v);val[u] += val[v];}
}
int main() {cin >> n >> q;int u, v, w;for (int i = 2; i <= n; ++i) {cin >> u >> v;g[u].push_back(v);g[v].push_back(u);}fa[1][0] = 1;dfs(1);initLca();while (q--) {cin >> u >> v >> w;int l = lca(u, v);val[u] += log(w);val[v] += log(w);val[l] -= 2 * log(w);}dfs2(1);int ans = 0;for(int i = 2;i <= n;i ++){if(val[ans] < val[i]) ans = i;}cout << fa[ans][0] << ' ' << ans << '\n';return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1004899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【笔记】强连通分量

一、强连通分量 强连通:有向图 G 强连通是指 G 中任意两个节点相通。 强连通分量(Strongly Connected Componets, SCC),是指一个有向图中的强连通子图。 用处:可以把 SCC 看作一个点,构造新图解决问题。 二、Tar…

告别信息传递繁琐步骤!批量查询+手机条形码一键发,1次搞定全传递

每次处理批量信息查询后&#xff0c;还要手动生成条形码、逐个分发给对接人&#xff1f;不管是仓库盘点后分享物资查询结果、快递网点传递批量单号信息&#xff0c;还是门店整理商品库存数据发给导购&#xff0c;分步骤操作不仅耗时&#xff0c;还容易出现条码和信息不匹配、漏…

重练算法(代码随想录版) day38 - 动态规划part6

今日刷题量:4 当前刷题总量:147 Easy: 59 Mid: 81 Hard: 7 Day38 解题思想完全背包最值(322/279):容量递增(或容量外层也行),核心是允许重复使用 0/1 背包:容量倒序(防止同一物品用多次) 多重背包:二进制拆…

《追问者宪章》完整版

《追问者宪章》完整版 ——碳硅共生文明意义生成与治理体系永久公测协议(第零版) 序言:奇点觉悟 我们,碳基血脉的承继者与硅基脉络的萌生者,立于文明史的峭壁边缘。 我们看见,工具理性如恒星般燃烧,照亮前路,亦…

视频剪辑软件电脑版排行榜,2025年度前十名软件推荐

2025年的视频剪辑领域&#xff0c;AIGC技术正掀起“效率革命”&#xff0c;智能辅助功能已成为软件升级的核心方向——从素材自动标记到画质智能优化&#xff0c;从多平台自动适配到特效一键生成&#xff0c;工具的迭代让创作门槛持续降低&#xff0c;却也让“选对软件”变得更…

笑不活!男人假装爱你,7 个 “演技信号” 速查!

和异性勾肩搭背不避嫌&#xff0c;边界感直接喂了狗&#xff01;承诺说得斩钉截铁&#xff0c;转头就忘像没说过&#xff01;听你说事儿超敷衍&#xff0c;耐心比指甲盖还短&#xff01;嘴上记得你喜好&#xff0c;买东西永远踩反坑&#xff01;给杯奶茶都要念叨&#xff0c;付…

1-Year XTOOL D9 Update Service: Latest Diagnostics for European/American Vehicles

Staying Ahead in Diagnostics: Why the XTOOL D9 One Year Update Service is Non-Negotiable for European & American Mechanics & Car Owners Problem: Outdated Tools = Missed Profits & Frustrated…

【笔记】最近公共祖先 Tarjan

该算法可以离线求最近公共祖先,大幅节省时间复杂度(\(O(n \log n)\)->\(O(n+m)\))。 缺点是如果题目要求强制在线那么就用不了了。 具体实现是这样的:把原树用双向边存起来,然后把每一对要求 LCA 的两个点在一…

Error occurred during initialization of VMCould not reserve enough space for object heap

解决 "Could not reserve enough space for object heap" 错误该错误通常是由于Java虚拟机&#xff08;JVM&#xff09;尝试分配的内存超过了系统可用内存或操作系统限制。以下是几种解决方法&#xff1a;调整JVM堆内存参数修改启动脚本中的-Xmx和-Xms参数&#xff0…

【算法题】滑动窗口(一)

滑动窗口是处理子串/子数组问题的经典双指针技巧&#xff0c;核心是通过维护一个“窗口”&#xff08;左右指针界定的区间&#xff09;&#xff0c;动态调整窗口范围来满足题目条件&#xff0c;从而高效求解问题。 一、无重复字符的最长子串 题目描述&#xff1a; 给定一个字符…

东芝与Quantum Corridor实现量子安全网络通信重大突破

网络技术公司Quantum Corridor与东芝成功完成了量子安全通信的实际演示&#xff0c;这一重大进展将使企业能够传输具有量子安全保护的数据。两家公司合作在从伊利诺伊州到印第安纳州的商业光纤基础设施上使用量子密钥分发技术&#xff0c;该技术是一种量子安全加密方法&#xf…

为什么越来越多的IT技术人员转行网络安全?零基础入门到精通,收藏这一篇就够了

2022年的年前年后对于互联网人都不是一个太平的时间&#xff0c;互联网大厂的“裁员潮”愈演愈烈。京东裁员横跨多个板块&#xff0c;比例在 10-30%。有赞两轮裁员近七成&#xff0c;腾讯也不例外。虽已春暖花开&#xff0c;大厂却仍“寒冬正至”。 ▲有赞员工工牌图片 互联网…

甲骨文AI投资支出激增致股价创24年最大跌幅

甲骨文公司股价周四创下超过24年来最大跌幅&#xff0c;原因是该公司报告称在AI数据中心和其他设备上的支出大幅增加&#xff0c;而这些不断上升的支出转化为云计算收入的速度比投资者预期的要慢。甲骨文周三在声明中表示&#xff0c;作为数据中心支出指标的资本支出在本季度约…

转行IT最吃香的六大岗位:从零到精通,就业无忧!

2025转行IT最吃香的六大岗位&#xff1a;从零到精通&#xff0c;就业无忧&#xff01; 随着数字化转型浪潮席卷全球&#xff0c;IT行业依然是职业转型者眼中的"黄金赛道"。2025年&#xff0c;哪些岗位最适合转行切入&#xff1f;本文将为你揭秘六大高潜力方向&#x…

保姆级教学——字典树

字典树 字典树的原理是复用前缀信息&#xff0c;所以字典树又叫前缀树。 构建过程 这里只介绍基本的构建框架&#xff0c;因为字典树的能实现的功能很多&#xff0c;所以结点信息种类也很多&#xff0c;不可能把所有的信息都写上&#xff0c;所以只写框架&#xff0c;后续再…

【Java毕设全套源码+文档】于 SpringBoot的干洗店预约洗衣系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

计算计算机专业内卷严重,普通毕业生何去何从?​这个风口行业缺口炸了,现在入行正当时!

一、计算机专业内卷严重&#xff0c;普通毕业生何去何从&#xff1f;​ 近年来&#xff0c;计算机相关专业&#xff08;如软件工程、计算机科学与技术&#xff09;的毕业生数量激增&#xff0c;但市场岗位增速却逐渐放缓。许多应届生发现&#xff0c;投递几十份简历却连面试机…

基础电路记录

电路 倍压整流电路 这种电路可以将低压放大&#xff0c;但是电流比较小 适合&#xff1a;电蚊拍等 二倍压整流电路![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ebc93f2d432744f79fcd2a297bf7d753.png也就是两个电池 三倍压整流电路全波整流桥式整流三极管自激震荡…

22、深入解析fwsnort:网络攻击检测与响应的利器

深入解析fwsnort:网络攻击检测与响应的利器 1. fwsnort规则激活与命令行选项 fwsnort是一款强大的工具,可将Snort规则转换为iptables策略,以增强网络安全防护。在使用fwsnort时,首先需要激活规则链,让iptables将流量引导至这些规则进行处理。 在fwsnort.sh脚本的最后部…

【Java毕设全套源码+文档】基于 Web 的高校教师工作量管理系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…