当前位置: 首页 > news >正文

zblog做单页网站西安seo关键词推广

zblog做单页网站,西安seo关键词推广,随州网站建设哪家好,如何做旅游网站的旅行家题目 n(n<2e5)个点的树&#xff0c;点i权值ai&#xff08;1<ai<2^30&#xff09; 修改最少的点的权值&#xff0c;使得树上不存在异或和为0的简单路径&#xff0c;输出最少的点数 权值可以被修改成任意正整数&#xff08;可以是无限大&#xff09; 思路来源 官方…

题目

n(n<=2e5)个点的树,点i权值ai(1<=ai<2^30)

修改最少的点的权值,使得树上不存在异或和为0的简单路径,输出最少的点数

权值可以被修改成任意正整数(可以是无限大)

思路来源

官方题解 & zlt题解

题解

假设树形是固定的,dfs往上回溯的时候,

如果一条路径xor为0,这条路径上必须改一个值,

贪心地来看,lca必须要改

由于可以改成任意值,改lca视为把这棵子树断掉

XOR(u,v) = XOR(根到u) xor XOR(根到v) xor a[lca(u,v)]

那就是判一下某个点的子树是否存在两个点的祖先异或,等于本身的权值

这个可以启发式合并的时候,把小的集合往大的集合上挂的时候判断

删除某个点,就可以认为是清空集合

心得

自己的写法怎么写都写不对,都wa8,感觉是启发式合并公有map导致的

只能抄官方题解,每个节点维护一个set了

代码

#include<iostream>
#include<cstdio>
#include<unordered_map>
#include<set>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,ll> P;
#define fi first
#define se second
#define pb push_back
const int N=2e5+10,INF=0x3f3f3f3f,mod=1e9+7;//998244353
int n,x,y,ans;
set<int>now[N];
int a[N],sz[N];
bool ban[N];
vector<int>E[N];
void dfs(int u,int fa,int w){bool ban=0;now[u].insert(w);for(auto &v:E[u]){if(v==fa)continue;dfs(v,u,w^a[v]);if(now[u].size()<now[v].size())now[u].swap(now[v]);for(auto &x:now[v]){if(now[u].count(x^a[u])){ban=1;break;}}for(auto &x:now[v]){now[u].insert(x);}now[v].clear();}if(ban){now[u].clear();ans++;}
}
int main(){scanf("%d",&n);for(int i=1;i<=n;++i){scanf("%d",&a[i]);}for(int i=2;i<=n;++i){scanf("%d%d",&x,&y);E[x].push_back(y);//E[i].pb(P(fa,w));E[y].push_back(x);//E[i].pb(P(fa,w));}dfs(1,0,a[1]);printf("%d\n",ans);return 0;
}

http://www.wooajung.com/news/26878.html

相关文章:

  • 石家庄个人做网站网站seo系统
  • jsp做网站毕业设计整合营销传播方案
  • 成都网站制作怎么收费襄阳seo培训
  • 网站建设优化新疆百度推广费用多少钱
  • 杭州有什么互联网大厂seo专业学校
  • 济南制作网站的公司吗免费创建网站软件
  • 政府做网站安卓优化大师新版
  • 上海定制建站网站建设优化关键词技巧
  • 龙华网站推广培训百度推广客户端登录
  • 找人做网站 源码被盗用web制作网站的模板
  • 那种系统做网站比较好市场营销案例100例
  • 做网站的基本流程企业推广公司
  • 廊坊seo整站优化软件灰色seo推广
  • 网站建设 网页设计需要技能佛山百度快照优化排名
  • 网站建设具体实施方案线上营销推广方式有哪些
  • 一家专门做内部优惠的网站网站推广是什么意思
  • 江苏徐州网站建设汕头seo网站推广
  • 创建一个购物网站蜜雪冰城推广软文
  • 网站推广页面 英语推广产品
  • 网站群建设方案12月30日疫情最新消息
  • 政府网站建设的基本原则我想做个网站怎么做
  • wordpress多域名绑定域名南京seo关键词优化预订
  • 网站授权管理系统怎么做google浏览器网页版
  • 有单独做网站维护的必要吗兰州做网站的公司
  • 福州招聘网站有哪几个凡科建站怎么收费
  • 网站开发常见问题总结广州网站运营
  • 沈阳网站建设培训学校南宁网站推广公司
  • 老榕树智能建站软件网络服务平台
  • 石家庄手机网站制作广州百度竞价托管
  • 时时彩网站开发定制seo论坛站长交流