【树上染色】CF1760G

news/2024/11/17 5:42:08/

Problem - G - Codeforces

题意:

思路:

我们需要找到一个点,使得a点到x点的路径异或和=x点到b点的路径异或和,这样总的异或就是0了

所以考虑树上染色,先从a点染异或值,再从b点染

树上染色的颜色一般写在dfs的参数里

Code:

#include <bits./stdc++.h>using namespace std;const int mxn=1e5+10;
const int mxe=1e5+10;struct ty{int to,next,w;
}edge[mxe<<1];map<int,int> mp;int n,a,b,u,v,w,tot=0,ok=0;
int head[mxn];void add(int u,int v,int w){edge[tot].w=w;edge[tot].to=v;edge[tot].next=head[u];head[u]=tot++;
}
void dfs1(int u,int fa,int cur){mp[cur]++;for(int i=head[u];~i;i=edge[i].next){if(edge[i].to==fa) continue;if(edge[i].to==b) continue;dfs1(edge[i].to,u,cur^edge[i].w);}
}
void dfs2(int u,int fa,int cur){for(int i=head[u];~i;i=edge[i].next){if(edge[i].to==fa) continue;dfs2(edge[i].to,u,cur^edge[i].w);if(ok){return;}if(mp[cur^edge[i].w]){ok=1;cout<<"YES"<<'\n';return;}}
}
void G_init(){ok=0;tot=0;for(int i=0;i<=n;i++){head[i]=-1;}mp.clear();
}
void solve(){cin>>n>>a>>b;G_init();for(int i=1;i<=n-1;i++){cin>>u>>v>>w;add(u,v,w);add(v,u,w);}dfs1(a,-1,0);ok=0;dfs2(b,-1,0);if(!ok) cout<<"NO"<<'\n';
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T=1;cin>>T;while(T--)solve();return 0;
}

 


http://www.ppmy.cn/news/144444.html

相关文章

01- cv2 读取中文路径图片解决方法

一 cv2 读取中文路径图片解决方法 直接使用cv2.imread()读取失败&#xff1a; filename ../save/save/58 沉淀池B出水pH.jpg frame cv2.imread(filename) 解决方法&#xff1a; filename ../save/save/58 沉淀池B出水pH.jpg frame cv2.imdecode(np.fromfile(filename, d…

笔记本散热器什么牌子比较好

散热器是用来传导、释放热量的一系列装置的统称。目前散热器主要有采暖散热器、计算机散热器&#xff0c;其中采散热器又可根据材质和工作模式分为若干种&#xff0c;计算机散热器可根据用途和安装方法分为若干种。 什么牌子的散热器品牌比较好?电脑的散热功能越好就越能够让电…

性价比高台式计算机,2021年台式电脑什么牌子好,性价比高?

大家都知道买台式电脑最主要是性价比高&#xff0c;用最少的价钱买到最好的性能配置&#xff0c;但那些大老牌子为了赚平民百姓的钱售价实在贵得太离谱了&#xff0c;性价比非常低 今年什么台式电脑性价比最高&#xff1f;台式电脑配置推荐 组装电脑配置单 电脑配置方案-装机..…

什么牌子投影仪好?国产投影仪什么牌子好

小巧&#xff0c;智能&#xff0c;易于操作的物品越来越受到人们的喜爱。在科技的进步中&#xff0c;一些影视爱好者也不满足于电影院或者电视等传统观影方式&#xff0c;这也是投影仪越来越受人们欢迎的原因。它兼备了智能化与信息化等多种现代元素&#xff0c;同时能满足观影…

便携式手持蒸汽电熨斗UL859测试项目介绍

便携式手持蒸汽电熨斗外贸出口UL859测试报告标准 便携式手持蒸汽电熨斗外贸出口美国站需要提交UL859测试报告&#xff0c;方可上架售卖。UL859认证是美国针对家用电动个人修饰电器产品的一个安全标准&#xff0c;也是亚马逊平台强制要求的一份UL检测报告&#xff0c;如果商家被…

数据恢复工具什么牌子的好

​数据恢复软件哪个好用&#xff1f;目前网络上的数据恢复软件种类繁多&#xff0c;不同版本的数据恢复软件的功能不一样&#xff0c;恢复数据的效果也不一样&#xff0c;有的恢复软件甚至毫无恢复能力&#xff0c;如果盲目下载&#xff0c;那真的是既费时又费力。那哪些数据恢…

2023年江西省大学生程序设计竞赛vp赛后补题

Problem - B - Codeforces 思路&#xff1a; 显然难以讨论<的情况&#xff0c;正难则反&#xff0c;我们尝试计算>的情况以为每次a&#xff0c;他的实际贡献给b的是a%m&#xff0c;x也一样&#xff0c;所以他们先取mod我们能够大于成立&#xff0c;要求a[i]sum>mod,…

hive常用命令记录

hive常用命令记录 1. Table相关操作1.1 创建表1.2 增加列1.3 删除列 2. 日期相关操作2.1 日期串截取2.2 转换时间戳为 yyyy-MM-dd格式 3. 使用case when实现行列互转 1. Table相关操作 1.1 创建表 CREATE TABLE app.table_name (id BIGINT COMMENT id,column_A string COMMEN…