BZOJ 4568 倍增维护线性基

在树的路径上选取一些点 使得这些点权xor后的结果最大
思路:
这里写图片描述
时限60s 59696ms卡过去了哈哈哈

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N=20005;
ll Temp[128],ans;
int n,q,first[N],next[N],v[N],tot,xx,yy,deep[N];
void add(int x,int y){v[tot]=y,next[tot]=first[x],first[x]=tot++;}
struct Node{int anc,num;ll eli[62];}fa[N][16],G[N],jy;
int Gauss(Node a,Node b){int num=a.num+b.num,flag=1;for(int i=1;i<=a.num;i++)Temp[i]=a.eli[i];for(int i=1;i<=b.num;i++)Temp[i+a.num]=b.eli[i];for(int i=60,j;~i;i--){for(j=flag;j<=num;j++)if(Temp[j]&(1ll<<i))break;if(j==num+1)continue;swap(Temp[flag],Temp[j]);for(int k=1;k<=num;k++)if(k!=flag&&Temp[k]&(1ll<<i))Temp[k]^=Temp[flag];flag++;}return flag-1;
}
void dfs(int x){for(int i=1;i<=15;i++){fa[x][i].anc=fa[fa[x][i-1].anc][i-1].anc;fa[x][i].num=Gauss(fa[x][i-1],fa[fa[x][i-1].anc][i-1]);for(int j=1;j<=fa[x][i].num;j++)fa[x][i].eli[j]=Temp[j];}for(int i=first[x];~i;i=next[i]){if(v[i]!=fa[x][0].anc){fa[v[i]][0].anc=x,deep[v[i]]=deep[x]+1;fa[v[i]][0].num=Gauss(G[v[i]],G[x]);for(int j=1;j<=fa[v[i]][0].num;j++)fa[v[i]][0].eli[j]=Temp[j];dfs(v[i]);}}
}
void LCA(int x,int y){if(deep[x]<deep[y])swap(x,y);for(int i=15;~i;i--)if(deep[x]-(1<<i)>=deep[y]){jy.num=Gauss(jy,fa[x][i]);for(int j=1;j<=jy.num;j++)jy.eli[j]=Temp[j];x=fa[x][i].anc;}if(x==y){jy.num=Gauss(jy,G[x]);for(int j=1;j<=jy.num;j++)jy.eli[j]=Temp[j];return;}for(int i=15;~i;i--){if(fa[x][i].anc!=fa[y][i].anc){jy.num=Gauss(jy,fa[x][i]);for(int j=1;j<=jy.num;j++)jy.eli[j]=Temp[j];jy.num=Gauss(jy,fa[y][i]);for(int j=1;j<=jy.num;j++)jy.eli[j]=Temp[j];x=fa[x][i].anc,y=fa[y][i].anc;}}jy.num=Gauss(jy,fa[x][0]);for(int j=1;j<=jy.num;j++)jy.eli[j]=Temp[j];jy.num=Gauss(jy,fa[y][0]);for(int j=1;j<=jy.num;j++)jy.eli[j]=Temp[j];
}
int main(){memset(first,-1,sizeof(first));scanf("%d%d",&n,&q);for(int i=1;i<=n;i++)scanf("%lld",&G[i].eli[1]),G[i].num=1;for(int i=1;i<n;i++)scanf("%d%d",&xx,&yy),add(min(xx,yy),max(xx,yy));deep[1]=1,dfs(1);for(int i=1;i<=q;i++){scanf("%d%d",&xx,&yy);jy.num=ans=0,LCA(xx,yy);for(int i=1;i<=jy.num;i++)ans^=jy.eli[i];printf("%lld\n",ans);}
}

这里写图片描述

转载于:https://www.cnblogs.com/SiriusRen/p/6532066.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eureka 集群失败的原因_eureka集群中的疑问?

题主的问题描述太绕了&#xff0c;我们先把集群中的角色定义下&#xff1a;Eureka架构比较细节的架构图如下所示&#xff1a;在配置多个EurekaServer的Service Provider&#xff0c;每次Service Provider启动的时候会选择一个Eureka Server&#xff0c;之后如果这个Eureka Serv…

代码android点击效果,GitHub - likaiyuan559/TouchEffects: Android View点击特效TouchEffects,几行代码为所有控件添加点击效果...

Android 点击特效TouchEffectsTouchEffects能够帮助你更快速方便的增加点击时候的效果&#xff0c;TouchEffects的目标是打造一个稳定、全面、且能更方便的自定义及个性化的一款点击效果框架。功能特点&#xff1a;只需要几行代码便能为全局的View加上点击效果支持多种点击效果…

apache shiro_Apache Shiro第2部分–领域,数据库和PGP证书

apache shiro这是致力于Apache Shiro的系列文章的第二部分。 我们从简单的不安全Web应用程序开始了上一部分 。 完成后&#xff0c;该应用程序具有基本的身份验证和授权。 用户可以登录和注销。 所有网页和按钮均已分配并实施了访问权限。 授权和身份验证数据都已存储在静态配置…

nginx 上传文件漏洞_文件上传及解析漏洞

注:本文仅供学习参考文件上传定义:文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行。这里上传的文件可以是木马&#xff0c;病毒&#xff0c;恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的&#xff0c;部分文件上传漏洞的利用技术门槛非常的低&…

Linux下暴力破解工具Hydra详解

Linux下暴力破解工具Hydra详解 一、简介 Number one of the biggest security holes are passwords, as every password security study shows. Hydra is a parallized login cracker which supports numerous protocols to attack. New modules are easy to add, beside that,…

具有FastUtil的精简Java集合

针对我最近在GNU Trove库上发表的《 发现Java原始资源集合的处理 》一书 &#xff0c; TheAlchemist指出了fastutil优于trove的一些优点&#xff1a;“我更喜欢fastutil&#xff08; http://fastutil.di.unimi.it/ &#xff09;&#xff0c;因为它仍在积极开发中&#xff0c;具…

android的json解析方式,Android解析JSON方式

JSON数据格式的定义&#xff1a;JSON的全称是&#xff1a;JavaScript Object Notation&#xff0c;是一种轻量级的数据交换格式。它构建于两种结构&#xff1a;1、"名称/值" 对的集合(a collection of name / value pairs)。不同的语言中&#xff0c;它被理解为对象(…

uniapp无法使用substr_关公战秦琼------Excel、SPSS Modler和R的使用对比(下)

5. 数据可视化Excel在Excel中对数据可视化除常用的图表外&#xff0c;还有样式、迷你图等直接和实际数据来共同展示效果。另外&#xff0c;还可以与切片器、PowerView等功能结合来动态可视化。Excel中图表的类型很多&#xff0c;如常见的散点图、折线图、柱形图、饼图等&#x…

第三次预作业20155231邵煜楠:虚拟机上的Linux学习

java第三次预作业——虚拟机初体验(学习记录) 学习在笔记本上安装Linux操作系统通过老师给予的官网链接&#xff0c;下载了VirtualBox-5.1.14-112924-win和Ubuntu-16.04-desktop-amd64.iso开始按照安装&#xff0c;尽管如此&#xff0c;还是遇到来了一些问题。 -在选择虚拟机的…

nginx_反向代理

nginx_反向代理 1 worker_processes 1;2 3 events {4 5 worker_connections 1024;6 7 }8 9 10 11 http { 12 13 include mime.types; 14 15 default_type application/octet-stream; 16 17 sendfile on; 18 19 keepalive_timeout …

miui11未升级android版本,MIUI 11稳定版正式推送,升级前你需要了解

原标题&#xff1a;MIUI 11稳定版正式推送&#xff0c;升级前你需要了解10月18日&#xff0c;MIUI官网正式宣布MIUI 11 正式推送&#xff0c;这是在小米MIX Alpha发布会之时同时推出的&#xff0c;在经过内测、公测后正式面向大众消费者推送。以下是一些您升级前需要了解的东西…

lumion自动保存_LUMION吊打MAX,轻松玩转规划渲染!

--文末获取&#xff1a;城市配景建筑模型包--大型场景渲染是LUMION渲染中难度最高的图纸首先&#xff0c;需要大量非常优质的配景包括&#xff1a;配景建筑、植物其次&#xff0c;对硬件要求也极高像这样的图纸渲染主体建筑周边需要布置大量的配景建筑没有个2080TI&#xff0c;…

在地图上 添加柱状_如何做出一份惊艳的PPT地图页?这2个字,你一定要知道!...

这篇文章&#xff0c;咱们就从一个读者私信给我的案例来说&#xff0c;就是这张PPT&#xff1a;他当时问我的问题是&#xff0c;怎么把这个表格优化的更美观&#xff1f;坦白讲&#xff0c;这是一个无解的问题&#xff0c;为什么这么说呢&#xff1f;咱们简单对这个图表分析&am…

akka与neety_Akka STM –与STM Ref和Agent一起打乒乓球

akka与neety乒乓是一个经典示例&#xff0c;其中2个玩家&#xff08;或线程&#xff09;访问共享资源–乒乓表并在彼此之间传递Ball&#xff08;状态变量&#xff09;。 使用任何共享资源&#xff0c;除非我们同步访问&#xff0c;否则线程可能会遇到潜在的死锁情况。 PingPong…

怎样调用另一个html中的元素,html – 使用DIV作为另一个元素的背景

这里我用2个div做了一个例子&#xff1a;> .content,包含前端所需的一切> .background – 包含文本,图像和背景中的所有其他内容要将一个div包装在另一个div上(制作叠加层),你必须将它们放入相同的元素中,在本例中它是#wrapper div.放置位置&#xff1a;包装的相对宽度/高…

3.1HTML5样式的使用

1.标签&#xff1a;<style>&#xff1a;样式定义<link>&#xff1a;资源引用 2.属性rel"stylesheet"&#xff1a;外部样式表type"text/css"&#xff1a;引入文档的类型margin-left&#xff1a;边距 3.三种样式表插入方法 外部样式表&#xff1…

cobbler的dhcp服务_Cobbler服务器安装部署

网络安装大家一定不陌生&#xff0c;一般通过Pxedhcpnfstftp类似配置即可实现&#xff0c;但安装过程中还需手动干预&#xff0c;后来加入了kickstart可全自动同时安装数百台系统&#xff0c;方便运维管理&#xff01;但kickstart存在可配置性差&#xff0c;会打断本网段其它电…

JIT编译器,内联和转义分析

即时&#xff08;JIT&#xff09; 即时&#xff08;JIT&#xff09;编译器是Java虚拟机的大脑。 JVM中对JIT编译器的影响最大。 一会儿&#xff0c;让我们退后一步&#xff0c;看看已编译和未编译语言的示例。 诸如Go&#xff0c;C和C 之类的语言之所以称为编译语言&#xff…

多步注册页面html模板,PHP HTML多步骤页面_php_开发99编程知识库

我正在做一个项目&#xff0c;向数据库Mysql添加信息。 下面是我们使用会话创建 3表单并按步骤提供用户注册和用户&#xff0c;以及这里会话保存记录&#xff0c;如果我在步骤2 或者步骤 2中可以回滚和编辑某些内容。 这应该用会话完成。 如果我做了什么&#xff0c;我希望你帮…

云顶之弈机器人法爆_云顶之弈10.16b机器人阵容推荐 云顶之弈10.16b机器人娱乐阵容玩法攻略...

云顶之弈10.16b机器人阵容推荐&#xff0c;在云顶之弈10.16b版本中机器人没有什么改动&#xff0c;所以以机器人为核心的娱乐阵容依然可以玩&#xff0c;而且运气好的话吃鸡也不是不可以&#xff0c;下面小编为大家带来了云顶之弈10.16b机器人娱乐阵容玩法攻略&#xff0c;一起…