首页 > 其他分享 >【题解】Luogu[P2420] 让我们异或吧

【题解】Luogu[P2420] 让我们异或吧

时间:2023-08-01 15:47:20浏览次数:38  
标签:int 题解 异或 lca P2420 mathrm root sim dis

Link

看到是树,又多组询问,立马想到类似的求和问题,异或不好理解,我们想求和怎么做,维护 \(dis_i\) 表示 \(i\) 节点到根的权值和,那么对于 \(u,v\) 两点路径上的权值和就是 \(dis_u+dis_v-2\times dis_{\mathrm{lca}(u,v)}\),这是很经典的问题了。

事实上刚才的求和我们可以转化一下,我们令 \(dis_{x\sim y}\) 表示 \(x\) 到 \(y\) 路径上的权值和,它的本质实际上是 \(dis_{u\sim \mathrm{lca}(u,v)}+dis_{\mathrm{lca}(u,v)\sim \mathrm{root}}+dis_{v\sim \mathrm{lca}(u,v)}+dis_{\mathrm{lca}(u,v)\sim \mathrm{root}}\) 然后因为多加了两个 \(dis_{\mathrm{lca}(u,v)\sim \mathrm{root}}\) 于是我们把他删掉。

现在回到异或,类似的,维护 \(dis_i\) 表示 \(i\) 节点到根的异或,相同的转化,\(dis_{u\sim \mathrm{lca}(u,v)}\oplus dis_{\mathrm{lca}(u,v)\sim \mathrm{root}}\oplus dis_{v\sim \mathrm{lca}(u,v)}\oplus dis_{\mathrm{lca}(u,v)\sim \mathrm{root}}\),这时我们发现根本不需要处理多出来的 \(dis_{\mathrm{lca}(u,v)\sim \mathrm{root}}\oplus dis_{\mathrm{lca}(u,v)\sim \mathrm{root}}\)!

为什么?因为根据小学知识我们知道 \(A\oplus A=0\),而 \(A\oplus 0=A\),多余的部分对我们的答案没有影响,于是对于每个询问,我们的答案就是 \(dis_u\oplus dis_v\)

code

#include<bits/stdc++.h>
using namespace std;
const int NR=1e5+5;
int n,m;
vector<int>e[NR],g[NR];
int dis[NR];bool vis[NR];
void add(int u,int v,int w){
    e[u].push_back(v),g[u].push_back(w);
}
void dfs(int u,int val){
    dis[u]=val,vis[u]=true;
    for(int i=0;i<e[u].size();++i){
        int v=e[u][i],w=g[u][i];
        if(!vis[v])dfs(v,val^w);
    }
}
int main(){
    cin>>n;
    for(int i=1,u,v,w;i<n;++i)
        cin>>u>>v>>w,add(u,v,w),add(v,u,w);
    dfs(1,0);
    cin>>m;
    for(int i=1,u,v;i<=m;++i)
        cin>>u>>v,cout<<(dis[u]^dis[v])<<endl;
    return 0;
}

标签:int,题解,异或,lca,P2420,mathrm,root,sim,dis
From: https://www.cnblogs.com/agrumestly/p/17596673.html

相关文章

  • 国标GB28181视频平台LntonGBS(源码版)国标平台出现报错“缺失dll文件”的问题解决方案
    LntonGBS是基于国标GB28181协议的视频云服务平台,它可以支持国标协议的设备接入,在视频能力上能实现直播、录像存储、检索与回放、云台控制、告警上报、语音对讲、平台级联等功能,既能作为业务平台使用,也能作为能力层平台调用。技术人员在用户服务器部署LntonGBS平台,提示缺失某个dll文......
  • P2216 理想的正方形 题解
    P2216理想的正方形(为什么要写这篇题解?因为我β搞的心态炸了)食用此题解所需:有基础的双端队列知识与一只可爱的\(C++\)传送门:起飞!1.思考嗯,一看数据范围,\(a,b\leq1,000\),就知道这道题一定是一道\(\operatorname{O}(ab)\)的题(因为输入就已经达到\(100,000\)级别了,就算......
  • 国标GB28181视频平台LntonGBS(源码版)国标视频平台大屏播放时出现数据未推送的问题解决
    LntonGBS平台实现视频直播、转码与分发、平台级联、云台控制等,拥有灵活丰富的视频能力。平台基于云边端一体化架构,在很多场景中均有落地项目应用,如智慧工地、智慧安防、智慧工厂、智慧园区等。近期有用户反馈其定制版LntonGBS平台现场播放24路上大屏时有部分通道存在30秒左右出现未......
  • P9481 [NOI2023] 贸易 题解
    题目链接题目要求我们求出任意两点间最短路径之和,由于图比较特殊,除树边外只有祖先到其子树内的边,我们首先考虑最短路径有没有什么特殊性质。注意到两点之间的最短路分为一下三种:节点到其祖先的最短路:直接沿着树边向上走即可,否则一定会走多余的边,不是最优。节点到其子树的......
  • 题解 [NOI2020] 命运
    Link题意给定一棵\(n\)个节点的有根树和\(m\)条祖先到后代的链。问有多少种把边权设置为\(0\)或\(1\)的方案使得每条链上至少有一条边是\(1\)。答案对\(998244353\)取模。\(1\leqn,m\leq5\times10^5\)题解我们将链的下端称为限制的起点。容易发现,对于同一......
  • 国标GB28181视频平台LntonGBS(源码版)国标平台迁移服务器后无法启动的问题解决方案
    国标视频云服务LntonGBS支持设备/平台通过国标GB28181协议注册接入,并能实现视频的实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。平台部署简单、可拓展性强,支持将接入的视频流进行全终端、全平台分发,分发的视频流包括RTSP、RTMP、FLV、HLS、WebRTC等格......
  • 洛谷 U321190 麻将 加强加强版 题解
    Description给定一副\(k\)张牌的麻将牌,求能「听」哪些牌。对于所有数据,\(1\leqk\leq2\times10^5\)。link:https://www.luogu.com.cn/problem/U321190Solution算法零枚举「听」的牌,用状压DP或者贪心判断。时间复杂度\(\mathcal{O}(2^n\text{poly}(n))\)或\(\mathca......
  • DVWA靶场搭建过程 & 遇到的问题解决(apache标红、无法跳转等等)
    问题会在最后汇总解答第一步准备工作首先需要搭建PHP环境和获取DVWA源代码搭建PHP环境:搜索phpstudy→鼠标移动至windows版→点击phpstudy客户端→下滑,下载phpStudy2018Windows版本【注意,选择下载路径必须全英文】→获取到一个安装包,暂时不用解压。获取DVWA源代码:输入网站......
  • P1686 挑战 题解
    原题链接题目大意\(图上两个x或y值相同的点,如果其没有一条线段直接相连,则这两个点之间的距离为一条捷径\)\(给定一条路径,求此路径上最短的捷径长度(注意,是捷径最短)以及捷径的起止点和方向\)数据范围\(1\len\le250000\)\(先考虑x值相同的情况,假设有3个点A,B,C可以互相构成......
  • [JOI 2020 Final] 火事 题解
    题面给定一个长为\(N\)的序列\(S_i\),刚开始为时刻\(0\)。定义\(t\)时刻第\(i\)个数为\(S_i(t)\),那么:\[\left\{\begin{array}{ll}S_0(t)=0\\S_i(0)=S_i\\S_i(t)=\max\{S_{i-1}(t-1),S_i(t-1)\}\end{array}\right.\]共有\(Q\)个询问,每......