可持续化
DZYO
Never stop
展开
-
BJ模拟 Pandaria(可持续化并查集)
Description Mr. Panda 有 N 个花园,编号从 1 到 N 。对于编号为 i 的花园,花园里只有一朵花,颜色为 ci 。花园与花园之间有道路连接(道路是双向的)。每条道路都有一个花费,表示经过该道路花费的时间。 Mr. Panda 喜欢在他的N个花园中转悠,然后采尽可能多的同种颜色的花。然而,有时候他并不想花太多时间走同一段路。现在问题来原创 2017-03-23 21:17:32 · 763 阅读 · 0 评论 -
BZOJ3261: 最大异或和(可持续化Trie)
传送门题意: 给定一个非负整数序列 {a},初始长度为 N。 有 M个操作,有以下两种操作类型:1 、A x:添加操作,表示在序列末尾添加一个数 x,序列的长度 N+1。 2 、Q l r x:询问操作,你需要找到一个位置 p,满足 l<=p<=r,使得:a[p] xor a[p+1] xor … xor a[N] xor x 最大,输出最大是多少。 题解: 可持续化Trie。 其实原创 2017-09-30 14:44:30 · 343 阅读 · 0 评论 -
BZOJ2741: 【FOTILE模拟赛】L(分块+可持续化Trie)
传送门题意: 求区间的最大子区间异或和。(n≤12000)(n\le 12000)题解: 首先计算前缀和转化为子区间求两两异或最大值。 看到nn范围这么小,自然想到先分块搞搞了。。。 再套一颗可持续化Trie。。#include<bits/stdc++.h>using namespace std;struct IO{ streambuf *ib,*ob; inline v原创 2017-10-02 14:02:20 · 337 阅读 · 0 评论 -
HDU5420:Victor and Proposition(KD树)
传送门题解: 这是经典的KD树模型,所以直接KD树优化建边即可。不过需要注意的是KD树上的点不能是原来的点,要新建一个映射点连向原来的点,因为原来的点如果增加了本来没有的连边会对答案有影响。。(刚才搜了搜好像全是线段树?? 赶紧去学一学)upt:: 线段树做法,可持久化线段树合并,比kd树好打多了。。 Code : https://paste.ubuntu.com/26511原创 2018-02-03 12:59:35 · 292 阅读 · 0 评论 -
BJ模拟:String(SAM+LCT+主席树)
传送门题意: 给字符串SSS,支持: 1.末尾加入字符。 2.查询[l,r][l,r][l,r]中出现两次的最长字符串。题解: 好题。考虑离线做法: 动态插入后面的字符,更新前面lll的答案。当我们插入一个字符rrr的时候,与前面的公共子串为它的后缀。 我们考虑暴力跳failfailfail链来更新答案: 每个位置记last表示endpos的最后一个位置,那么这个位置能...原创 2018-04-11 11:56:56 · 400 阅读 · 0 评论 -
集训队作业2018: 树(点分治+K短路)
题解:最近学数分学到意识模糊,做到OI题冷静一下。联通块强制选根,然后用dfs序转化为一个路径然后就是做K短路了。用点分治即可在图大小为O(nlogn)O(n \log n)O(nlogn)的图上做K短路,时间复杂度O(nlog2n+klogk)O(n \log ^2 n + k\log k)O(nlog2n+klogk)。#include <bits/stdc++.h>...原创 2019-01-12 16:50:06 · 654 阅读 · 2 评论