#include<stdio.h> /** 单链表 **/ /* 利用指针可以为直接映射到改变上 且后续的地址传递比较方便,永远不要对表头做操作。只赋值。 */ struct No
持久瞎扯
转载 2019-05-05 16:59:00
91阅读
2评论
损坏的传送门 话说这不是大水题吗??? 题目大意 给你一个变量 \(x\),初始值为 \(0\) 并且该变量的值将不会超过 int 类型的范围。 现在要让变量 \(x\) 支持 \(4\) 种操作。要对 \(x\) 进行 \(4\) 中操作: ADD y 操作,该变量的值增加 \(y\)。 SUB ...
转载 2021-08-10 16:12:00
180阅读
2评论
和主席树差不多的东西,一般用于求异或和最大之类的。 sum记录的是当前这一
转载 2017-12-25 18:58:00
148阅读
2评论
题目背景 UPDATE : 最后一个点时间空间已经放大 标题即题意 有了持久数组,便可以实现很多衍生的持久功能(例如:持久并查集) 题目描述 如题,你需要维护这样的一个长度为 N N N 的数组,支持如下几种操作 在某个历史版本上修改某一个位置上的值 访问某个历史版本上的某一位置的值 此
转载 2017-10-05 13:53:00
255阅读
2评论
持久板子
转载 2018-12-12 18:37:00
44阅读
2评论
魔板 持久数据结构是一种保存历史版本的数据结构。 维护指针 \(p\),\(q\),$p$表示当前新加入版本(一开始在新建的根上),$q$表示便历上一个版本的节点。 $p$从新根开始便历 \(p\) 向 \(q\) 所拥有的点连边,然后在添加上新字符串版本自己新有的节点。同时记录$cnt[]$, ...
转载 2021-09-13 21:37:00
237阅读
2评论
恢复内容开始 HAOI 2019 DAY1 T1 我爆零了。 爆零的感觉很难受 原因竟然是我从没犯过的错误 审题不清。情绪低迷。 也许 也许 也许就是想让我知道我有多菜吧。 求前k大的区间异或值 。我硬生生读错题目 想着将区间分成k段 求划分整个区间的最大值。 我还写了一个n^3的dp 觉得只能过6
转载 2019-04-08 21:17:00
94阅读
2评论
持久并查集应该是一个挺实用的数据结构(例如$NOI2018Day1T1$中就有它的身影)。它主要建立于持久数组的基础之上(而持久数组的实现是完全基于主席树的),因为这样就可以去访问一些历史版本从而实现持久化了。
转载 2018-10-29 14:34:00
188阅读
2评论
和超级钢琴几乎是同一道题吧... code: #include <bits/stdc++.h> #define N 200006 #define ll long long #define setIO(s) freopen(s".in","r",stdin) , freopen(s".out","w"
转载 2021-07-07 11:49:45
154阅读
题目背景UPDATE : 最后一个点时间空间已经放大标题即题意有了持久数组,便可以实现很多衍生的持久功能(例如:
原创 2023-04-25 00:05:24
73阅读
题目背景 UPDATE : 最后一个点时间空间已经放大 标题即题意 有了持久数组,便可以实现很多衍生的持久功能(例如:持久并查集) 题目描述 如题,你需要维护这样的一个长度为 N N N 的数组,支持如下几种操作 在某个历史版本上修改某一个位置上的值 访问某个历史版本上的某一位置的值 此
原创 2022-05-27 20:39:12
214阅读
学会动态开点很重要。 本代码采用指针形式,点区间为左闭右开。 #include <iostream> #include <cstdio> #include <algorithm> #define ll long long using namespace std; inline ll read() { ...
转载 2021-07-19 08:57:00
85阅读
2评论
普通模板://给出一个长度为N的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X (L <= R)。求A[L] 至 A[R] 这R - L + 1个数中,与X 进行异或运算(Xor),得到的最大值是多少? const int N = 50000 + 10; int son[N*35][2], sum[N*35]; int root[N]; int tot; int len
原创 2017-10-18 10:26:29
44阅读
持久线段树是总称,主席树,函数式线段树是子集。主席树是持久权值线段树,函数式线段树是能够对历史版本进行修改。
原创 2021-07-22 16:19:04
122阅读
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int maxn = 1e6 + 10;const int maxm = 2e7 + 10;int sz;int head[ma...
原创 2022-08-17 15:50:43
48阅读
【BZOJ3689】异或之 Description 给定n个非负整数A[1], A[2], ……, A[n]。对于每对(i, j)满足1 <= i < j <= n,得到一个新的数A[i] xor A[j],这样共有n*(n-1)/2个新的数。求这些数(不包含A[i])中前k小的数。注:xor对应于
转载 2017-06-28 10:00:00
51阅读
2评论
#include #include #include #include #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair #define PLI pair #define PII pair #define SZ(x) ((int)x.size()) #defi...
转载 2019-03-19 16:10:00
28阅读
2评论
P3834 【模板】持久线段树 2(主席树) 这是个非常经典的主席树入门题——静态区间第 \(k\) 小。 对于指定的闭区间 \([l, r]\) 查询其区间内的第 \(k\) 小值. 代码采用指针形式,区间为左闭右闭。 const ll M = 2e5 + 3; int n, N, m, to ...
转载 2021-07-19 08:58:00
139阅读
2评论
持久线段树 如果我们要维护一个持续的,支持查询历史版本的数组该怎么做 给每一个版本建立一颗线段树?那太占空间了。
转载 2021-11-04 12:40:00
335阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5