人类智慧-AGC052B

news/2024/10/10 0:11:31

令一个点的权值为其到根的经过的边的异或和

注意到可以将操作视为交换两个点的权值

#include<bits/stdc++.h>
using namespace std;
#define i128 __int128
#define ll long long
#define ull unsigned long long
#define pii pair<int,int>
#define fi first
#define se second
#define lowbit(x) ((x)&(-x))
#define It set<int>::iterator
//#define ls (rt<<1)
//#define rs (rt<<1|1)
//#define mid (l+r>>1)
//#define lson tr[rt].ls
//#define rson tr[rt].rs
//#define ls1 tr[rt1].ls
//#define rs1 tr[rt1].rs
//#define ls2 tr[rt2].ls
//#define rs2 tr[rt2].rs
#define pb emplace_back
const int mod=998244353;
int ksm(int x,int y){int res=1;while(y){if(y&1)res=1LL*res*x%mod;x=1LL*x*x%mod;y>>=1;}return res;
}
int n,f[100005],g[100005];
struct edge{int v,w1,w2,nx;
}e[200005];
int cnt,hd[100005];
void add(int u,int v,int w1,int w2){e[++cnt]=edge{v,w1,w2,hd[u]};hd[u]=cnt;
}
void dfs(int u,int fa){for(int i=hd[u];i;i=e[i].nx){int v=e[i].v;if(v==fa)continue;f[v]=f[u]^e[i].w1;g[v]=g[u]^e[i].w2;dfs(v,u);}
}
int main(){scanf("%d",&n);for(int i=1;i<n;i++){int u,v,w1,w2;scanf("%d%d%d%d",&u,&v,&w1,&w2);add(u,v,w1,w2);add(v,u,w1,w2);}dfs(1,0);int w=0;for(int i=1;i<=n;i++)w^=f[i]^g[i];for(int i=1;i<=n;i++)f[i]^=w;sort(f+1,f+1+n);sort(g+1,g+1+n);for(int i=1;i<=n;i++)if(f[i]!=g[i])puts("NO"),exit(0);puts("YES");return 0;
} 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

NET Core 基础 - 删除字符串最后一个字符的七大类N种实现方式

分享删除字符串最后一个字符的多种实现方法,包括字符串、StringBuilder、Array、Linq等方式,并进行性能测试。结果显示字符串方式性能最优,但了解多种方法有助于选择最合适的方法。今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法,来回顾一些基础知识点。 01…

003、v3admin学习,修改全局配置如去掉水印等

1、v3admin打开之后的界面如下 2、修改一下全局通用设置 3、界面如下 4、把app.vue中的这一段注释掉 5、浏览器也就没有弹窗显示了。

在VMware中安装CentOS7(保姆级教程)

centos7下载地址:https://mirrors.aliyun.com/centos/7/isos/x86_64/1、打开“VMware Workstation“软件,选择”创建新的虚拟机 ![ 2、选择“典型”选项,然后下一步。3、选择“稍后安装操作系统”,点击下一步。4、客户机操作选择“Linux”,版本选择“CentOS 7 64位”,点击…

002、v3admin学习,设置npm的端口和ip

1、使用命令行npm run dev启动v3admin的时候,会有多个ip地址以及端口 2、在vite.config.ts中,修改host为false和port为1314 3、ctrl+c结束端口,并运行npm run dev来启动。可以看到只有一个 http://localhost:1314/ 端口启动了。 4、浏览器打开,可以正常显示。5、效果如下:…

001、v3admin学习,下载并这次启动运行v3admin

1、下载github,并放到自己的项目工程中2、确保直接电脑按照了node.js,输入cmd命令行看node,可以看到node版本是v20 3、在工程目录用命令行输入 npm update 4、在命令行继续输入 npm run dev5、可以正常登录了。 6、界面内容如下:

《花100块做个摸鱼小网站! 》第七篇—谁访问了我们的网站?

⭐️基础链接导航⭐️ 服务器 → ☁️ 阿里云活动地址 看样例 → 🐟 摸鱼小网站地址 学代码 → 💻 源码库地址一、前言 大家好呀,我是summo,最近发生了些事情(被裁员了,在找工作中)导致断更了,非常抱歉。刚被裁的时候还是有些难受,而且我还有房贷要还,有些压力,不过…

001、下载并运行

1、下载github,并放到自己的项目工程中 2、在工程目录用命令行输入 npm update 3、在命令行继续输入 npm run dev 4、可以正常登录了。