摘要: \(\texttt{0x00}\) 概念 差分约束系统是一种特殊的 \(n\) 元一次不等式组。 差分约束系统 是一种特殊的 \(n\) 元一次不等式组,它包含 \(n\) 个变量 \(x_1\sim x_n\) 以及 \(m\) 个约束条件,每个约束条件是由两个其中的变量做差构成的,形如 \[x_ 阅读全文
posted @ 2024-07-23 14:42 Brilliant11001 阅读(7) 评论(0) 推荐(0) 编辑
摘要: \(\texttt{just some tips……}\) \(\texttt{0x00 Lead in}\) 我们知道,图论的难点一般都不在算法的模板和原理,而在于对于题意的抽象,也就是:建图。 所以,如何建图在很大程度上影响了你能否做出这道题。 \(\texttt{0x01 tip1}\):虚点 阅读全文
posted @ 2024-07-23 14:41 Brilliant11001 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题目大意: 给定一个长度为 \(n\) 的序列,有 \(q\) 次询问,每次询问一个区间 \([l,r]\),需要输出该区间内每个前缀的和的异或和。 很容易想到用前缀和维护序列 \(a\),异或和暴力处理,但这样的时间复杂度是 \(O(nq)\) 的,只能通过测试点 \(0,1,3\)。 阅读全文
posted @ 2024-07-23 14:40 Brilliant11001 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 众所周知,莫队是莫涛大神发明的一种玄学优雅暴力算法,鉴定为:区间查询专业对口,拓展应用十分毒瘤。 莫队的模板特别方便记忆,其实只要领悟了莫队的核心思想,可谓是非常简单。 \(\texttt{0x00:}\) 前置芝士 分块基础思想 \(\operatorname{sort}\) 排序和自定义 \(\ 阅读全文
posted @ 2024-07-23 14:38 Brilliant11001 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 大致题意: 多组测试数据,每组数据给定一个长度为 \(n\) 的序列和一个参数 \(k\),要求将此区间划分成不超过 \(k\) 段,使这些区间中的逆序对数量的最大值最小。 思路: 对于求“最大值最小”这类问题,很容易想到二分。显然,本题的答案是具有单调性的,即当划分的段数减少时,区间中 阅读全文
posted @ 2024-07-23 14:37 Brilliant11001 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前言: 带修主席树的本质并不是主席树,而是树状数组套权值线段树!它并没有可持久化! 所以并没有将这个知识点放到可持久化数据结构的博客里,而是单独拎出来。 正题 刚学习了用可持久化线段树解静态区间第 \(k\) 小,那么拓展一下:如果在此基础上加上单点修改,阁下又该如何应对? P2464 [SDOI2 阅读全文
posted @ 2024-07-23 14:37 Brilliant11001 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 大致题意: 给出长度为 \(n\) 的序列 \(A\),同时给出 \(m\) 次询问至少要将区间 \([l,r]\) 分成多少段,才能使每段中没有数的出现次数 \(> \lceil \frac{len}{2} \rceil\)。 分析: 首先,如果连该区间的众数的出现次数都 \(\le 阅读全文
posted @ 2024-07-23 14:36 Brilliant11001 阅读(0) 评论(0) 推荐(0) 编辑
摘要: \(\texttt{0x00}\) 简介 可持久化就是通过每次修改都创建新版本,来保留数据结构回滚与访问历史版本的能力。 可持久化分为两类: 部分可持久化:所有版本都可以访问,但是只有最新版本可以修改; 完全可持久化:所有版本都既可以访问又可以修改。 注意:一个数据结构可持久化当且仅当它的拓补结构在 阅读全文
posted @ 2024-07-23 14:35 Brilliant11001 阅读(0) 评论(0) 推荐(0) 编辑
摘要: \(\texttt{0x00}\) 简介 伸展树,也叫 \(\texttt{Splay}\),是平衡树的一种。所以它也满足二叉搜索树的所有性质。\(\texttt{Splay}\) 灵活多变,应用广泛,能够很方便地支持各种动态的区间操作,码量适中。 定义 struct node { int s[2] 阅读全文
posted @ 2024-07-23 14:33 Brilliant11001 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前置芝士: \(\texttt{BST}\)(二叉搜索树)和 \(\texttt{heap}\)(堆) (其实 \(\texttt{Treap}\) 这个名字就是由 \(\texttt{tree}\) 和 \(\texttt{heap}\) 拼出来的 \(\cdots\)) \(\texttt{Tr 阅读全文
posted @ 2024-02-01 10:21 Brilliant11001 阅读(1) 评论(0) 推荐(0) 编辑