.article-info-tag,button{text-transform:uppercase}.day,.postMeta,.postSticky{position:relative}.postTitle a:link,html{-webkit-tap-highlight-color:transparent}#blog-calendar,.code-copay-btn,.code-hljs-len,.hidden{visibility:hidden}#EntryTag,#blogTitle h1{margin-top:20px}#EntryTag a,.postSticky{background:#6fa3ef}#blogTitle h1 a:hover,.dayTitle a,a,a:active,a:link,a:visited{color:#5c8ec6}#calendar table a:hover,#navList a:hover,.postDesc a:hover,a:active,a:hover,a:link,a:visited,button{text-decora…ryTag a:visited{color:#666}#BlogPostCategory a,#EntryTag a{height:20px;line-height:20px;color:#fff!important;padding:3px 5px;border-radius:3px;margin:2px 5px 0;text-decoration:none;font-size:14px}#BlogPostCategory a:hover,#EntryTag a:hover{transition:all .3s linear 0s;opacity:.8}#topics .postDesc{padding-left:0;width:100%;text-align:left;color:#666;margin-top:5px;background:0 0}.feedbackListSubtitle-louzhu:after,.feedbackListSubtitle:after,.feedbackListSubtitle:before{top:11px;right:100%;left:-1

P4839 P哥的桶 题解

Description

维护一个序列,支持单点修改,区间查询最大异或和。

Solution

看到区间查询最大异或和,考虑线性基。

但是线性基并不资瓷区间查询怎么办嘞?

我们可以借助树套树的思想,给一个资瓷单点修改,区间查询的数据结构(比如线段树)里的每一个节点套一个线性基。

这样子就可以解决这个问题。

对于单点修改,给从根节点到单点的路径每个点都插入这个数。

对于区间查询,把所有答案插入到一个大的线性基里,在这个线性基里查最大异或和即可。

代码在链接里

posted @ 2021-04-08 19:44  feicheng  阅读(16)  评论(0编辑  收藏  举报