CF916E】的更多相关文章

CF916E Jamie and Tree 题意翻译 有一棵n个节点的有根树,标号为1-n,你需要维护以下三种操作 1.给定一个点v,将整颗树的根变为v 2.给定两个点u, v,将lca(u, v)所在的子树都加上x 3.给定一个点v,你需要回答以v所在的子树的权值和 Translated by mangoyang 错误日志: 第一次 \(debug\) 是 \(jump\) 数组第二维开小了: 交了一次错了, 第二次没有特判修改/查询节点等于根的情况: 第三次 \(RE\) 又是数组开销了 .…
CF916E Jamie and Tree 题意翻译 有一棵\(n\)个节点的有根树,标号为\(1-n\),你需要维护一下三种操作 1.给定一个点\(v\),将整颗树的根变为\(v\) 2.给定两个点\(u, v\),将\(lca(u, v)\)所在的子树都加上\(x\) 3.给定一个点\(v\),你需要回答以\(v\)所在的子树的权值和 输入输出格式 输入格式: The first line of input contains two space-separated integers \(n\…
Codeforces 916E 简要题解Description Description 有一棵n个点的树,每个节点上有一个权值wi,最开始根为1号点.现在有3种类型的操作: 1 root, 表示将根设为root. 2 u v x, 设u, v的最近公共祖先为p, 将p的子树中的所有点的权值加上x. 3 u, 查询u的子树中的所有点的权值和. 对于每个3操作,输出答案. n <= 500000 Solution ​ 考虑不能直接换根. 换了根就完了 ​ 那么我们考虑另一种办法,就是如何保持原来树的…
题面 解析 这题考试时刚了四个小时. 结果还是爆零了 主要就是因为\(lca\)找伪了. 我们先考虑没有操作1,那就是裸的线段树. 在换了根以后,主要就是\(lca\)不好找(分类讨论伪了). 我们将一开始以\(1\)为根的图作为原图. 仔细思考一下, 我们会发现只有当原图上的\(lca\)在\(1\)和当前的根的路径上时,\(lca\)才会发生变化. 考试时怎么没发现 而当\(lca\)变化后,我们画一下图, 就会发现, 现在的\(lca\)就是两个点与根的\(lca\)中深度较大的一个. (…
好吧这其实应该不是树剖... 因为只要求子树就够了,dfs就好了 大概就是记录一个全局根root 多画几幅图会发现修改时x,y以root为根时的lca为以1为根时的lca(x,y),lca(root,x),lca(root,y)中深度最大的一个 然后就可以做了 然后分类讨论当前更改操作节点x(更新即LCA(x,y),询问则就是x)和root的关系: (接下来有关操作都以1为根) 1.x=root: 即询问/修改整颗树的权值和 2.root不在x的子树内:这样的话这里x的子树是没有被影响到的,直接…
From 7.8 To 7.14 大纲 学科 英语的话每天早上背单词, 争取每天做一篇完型, 一篇阅读, 一篇短文填空, 一篇改错, 一篇七选五??? 似乎太多了, 先试一下吧 语文的话, 尝试翻译一下文言文??? 理科先不管他 竞赛 考试, 题解, 做题, 恩, 应该差不多吧 7.12 考试, 改题... 今天做的题目有:做了个球 恩, 就推了几个斯特林数的式子, 硬是写了半个下午加一个晚上, 我晕死 7.13 早上按时背了英语, 然后发现之前有好多背了的单词不记得了, 可能是没有复习吧...…