E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ4184
[
BZOJ4184
]shallot(线段树+线性基)
======这里放传送门======题解线性基不支持删除,但是可以发现每个数字出现的范围是一段区间,那么如果用线段树把这一段区间打上标记,然后就相当于是每次单点查询。也就是搞一个下标是时间的线段树。然后标记永久化,查答案的时候dfs一遍线段树就可以了。这题空间贼卡。。一开始算算理论上界4*n还得加上线性基根本开不下。。那动态开点吧,nlogn还是不行。。最后干脆出几组大数据看看发现最多700000
FromATP
·
2020-08-13 11:49
BZOJ
线段树之类的
高斯消元消来消去
【
bzoj4184
】shallot(线段树+线性基)
Description小苗去市场上买了一捆小葱苗,她突然一时兴起,于是她在每颗小葱苗上写上一个数字,然后把小葱叫过来玩游戏。每个时刻她会给小葱一颗小葱苗或者是从小葱手里拿走一颗小葱苗,并且让小葱从自己手中的小葱苗里选出一些小葱苗使得选出的小葱苗上的数字的异或和最大。这种小问题对于小葱来说当然不在话下,但是他的身边没有电脑,于是他打电话给同为Oi选手的你,你能帮帮他吗?你只需要输出最大的异或和即可,
ezoiHQM
·
2020-08-08 01:01
线性基
线段树
BZOJ4184
shallot葱苗
Description小苗去市场上买了一捆小葱苗,她突然一时兴起,于是她在每颗小葱苗上写上一个数字,然后把小葱叫过来玩游戏。每个时刻她会给小葱一颗小葱苗或者是从小葱手里拿走一颗小葱苗,并且让小葱从自己手中的小葱苗里选出一些小葱苗使得选出的小葱苗上的数字的异或和最大。这种小问题对于小葱来说当然不在话下,但是他的身边没有电脑,于是他打电话给同为Oi选手的你,你能帮帮他吗?你只需要输出最大的异或和即可,
DancingZ
·
2018-07-14 16:29
数据结构
线性基
线段树
[
bzoj4184
]shallot【线段树】【线性基】
【题目链接】https://www.lydsy.com/JudgeOnline/problem.php?id=4184【题解】以时间为下标建立线段树,每个数有一个存在时间区间,挂在对应线段树节点上。询问时维护一个线性基,dfs这颗线段树,在叶节点查询。时间复杂度O(31N∗logN)O(31N∗logN)【代码】/*---------------User:VanishDproblem:[bzoj4
VanishD
·
2018-05-30 17:23
【线段树】
【线性基】
BZOJ4184
: shallot
考虑离线求出每个数存在的区间,用时间线段树套链表维护每段区间内存在的数字。 然后从线段树根节点开始dfs,子节点的线性基=往父节点的线性基中插入子节点存在的数字后得到的线性基。 时间复杂度$O(31n\log n)$。 #include<cstdio> #include<map> std::map<int,int>vis,loc;
·
2015-10-31 09:52
sha
【
bzoj4184
】 shallot 线段树对时间分治+线性基
有这样一类问题,插入、删除、整体查询。为了避免删除操作,一般记录每个点的进入时间和删除时间,在线段树里每个节点开一个vector,然后这个区间里插入这个数,最后dfs一遍就只有插入操作,没有删除操作了。#include #include #include #include #include #include #include #include #definemaxn500010 usingnam
u012288458
·
2015-10-02 15:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他