02 2020 档案
摘要:$S$ 国有 $N$ 个城市,编号从 $1$ 到 $N$ 。城市间用 $N 1$ 条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。 为了方便,我们用不同的正整数代表各种宗教, S国的居民常常旅行。旅行时他们总会走最短
阅读全文
摘要:给出一棵以 $1$ 为根的树,每个结点有一个状态为 $1$ 或 $0$ ,初始时为 $0$ ,给出两种操作,一种询问结点 $x$ 到根结点路径上状态为 $0$ 的结点数,并将他们的状态变为 $0$ ,一种询问结点 $x$ 的子树内状态为 $1$ 的结点数,并将他们的状态变为 $0$ 。 $(1\le
阅读全文
摘要:有一棵点数为 $N$ 的树,以点 $1$ 为根,且树点有边权。然后有 $M$ 个操作,分为三种: 操作 1 :把某个节点 $x$ 的点权增加 $a$ 。 操作 2 :把某个节点 $x$ 为根的子树中所有点的点权都增加 $a$ 。 操作 3 :询问某个节点 $x$ 到根的路径中所有点的点权和。 "Lu
阅读全文
摘要:维护初始有 $n$ 个节点的有根树(根节点为 $1$ ),树上节点编号为 $1 \sim n$ ,每个点有一个权值 $w_i$ 支持以下操作: 询问以 $u$ 为根的子树中,严格大于 $x$ 的值的个数。 把 $u$ 节点的权值改成 $x$ 。 添加一个编号为“当前树中节点数 + 1 ”的节点,其父
阅读全文
摘要:袋子里有 $w$ 只白鼠和 $b$ 只黑鼠 ,$A$ 和 $B$ 轮流从袋子里抓,谁先抓到白色谁就赢。$A$ 每次随机抓一只,$B$ 每次随机抓完一只之后会有另一只随机老鼠跑出来。如果两个人都没有抓到白色则 $B$ 赢。$A$ 先抓,问 $A$ 赢的概率。 "Luogu" 分析 不会概率 DP 。。
阅读全文
摘要:简介 整体二分利用的是分治的思想,可以解决一些区间 kth 问题,是一种离线算法,可以对比主席树算法。 限制 题目需要满足以下条件: 1. 询问的答案具有可二分性 2. 修改对判定答案的贡献互相独立 ,修改之间互不影响效果 3. 修改如果对判定答案有贡献,则贡献为一确定的与判定标准无关的值 4. 贡
阅读全文
摘要:你需要维护 $n$ 个可重整数集,集合的编号从 $1$ 到 $n$ 。 这些集合初始都是空集,有 $m$ 个操作: :表示将 $c$ 加入到编号 $[l, r]$ 内的集合中 :表示查询编号在 $[l, r]$ 内的集合的并集中,第 $c$ 大的数是多少。 "Luogu" 分析 经典的整体二分题,这
阅读全文
摘要:给定一个环,每个节点有一个所属国家,k 次事件,每次对 [l, r] 区间上的每个点点权加上一个值,求每个国家最早多少次操作之后所有点的点权和能达到一个值。 "Luogu" 分析 整体二分 二分的值域是 1 到 k + 1 ,每次都把 1 到 mid 的陨石雨的贡献加进来,用树状数组统计,然后计算对
阅读全文
摘要:"CCMS" "LaTex" "Beamer" "Beamer 使用笔记" "LaTex数学公式" "Vim" "Emacs" "gdb调试"
阅读全文
摘要:给出一片森林,每个点有一个权值,要求支持动态连边,并回答任意两点间第 k 小权值,强制在线。$(1\le N,M,T \le 8\times 10^4)$ "Luogu" 分析 求第 k 小权值,这个肯定是用主席树了,但连边该怎么办?LCT?可我不会。 我们可以用启发式合并的方法,连边也就是合并两棵
阅读全文
摘要:简介 Disjoint Set Union,树上启发式合并。 我也不知道为什么叫 dsu on tree ...... 如果不算套的数据结构的话,这个东西可以在 $O(\log{n})$ 的时间内完成对子树信息的查询。 算法 我们每次 dfs 到一个点 u ,执行以下流程: 1. 递归处理所有的轻儿
阅读全文
摘要:给定一棵 N 个节点的树,树上的每条边都有一个权值。从数中选择两个点 x 和 y ,把从 x 到 y 路径上的所有边权 xor 起来,得到的结果最大是多少? "POJ3764" 分析 显然, $d[u]=d[fa_u] \ xor \ w_{u,fa_u}$ ,于是我们可以通过一遍 bfs 来求出每
阅读全文
摘要:Sherry 现在碰到了一个棘手的问题,有 N 个整数需要排序。 Sherry 手头能用的工具就是若干个双端队列。 她需要依次处理这 N 个数,对于每个数, Sherry 能做以下两件事: 1. 新建一个双端队列,并将当前数作为这个队列中的唯一的数; 2. 将当前数放入已有的队列的头之前或者尾之后。
阅读全文
摘要:题面太长了就不蒯了 "Luogu" 分析 首先是 80pts 算法:用一点技巧模拟就好了~\(≧▽≦)/~ 然后是 100pts 算法。容易发现(其实是懒得证明)先被切割的蚯蚓分成的长度一定不小于后被切割的蚯蚓分成的长度,也就是具有一定单调性,所以我们建立 3 个队列,一个储存原数组,一个储存被切割
阅读全文
摘要:给出一个 $n$ 个点, $m$ 条边的无向联通图,可以从任意一个点出发,前往一个相邻未访问过的结点,或者沿第一次访问当前结点的边返回。要求找出一个访问方案,使得每个结点都被访问过,且方案的字典序最小。($m=n 1\text{ 或 }m=n$) "Luogu" 分析 当 $m=n 1$ 时,显然是
阅读全文
摘要:定义 01分数规划是指这样一类问题: 给定一些物品,价值 $a[i]$ ,花费 $b[i]$ ,选取其中 $k$ 个,使得 $R=\frac{\sum{a[i] x[i]}}{\sum{b[i] x[i]}}$ 最大。($x[i]$ 为0或1,表示该物品取不取) 分析 我们定义一个函数 $f(t)=
阅读全文
摘要:知道黑暗城堡有 $N$ 个房间,$M$ 条可以制造的双向通道,以及每条通道的长度。 城堡是树形的并且满足下面的条件: 设 $D_i$ 为如果所有的通道都被修建,第 $i$ 号房间与第 $1$ 号房间的最短路径长度; 而 $S_i$ 为实际修建的树形城堡中第 $i$ 号房间与第 $1$ 号房间的路径长
阅读全文
摘要:有一只施工队要修路,每条路有成本 $c$ 和需要的时间 $t$ ,总收入为 $f$ ,要求选择数条边使图联通,求 $f \frac{\sum{c_i x_i}}{\sum{t_i x_i}}=ans$ 的最大值 ( $x_i$ 为 $0$ 或 $1$ 表示选或不选) "Luogu" 分析 我们设答案
阅读全文
摘要:给出一段区间 $w[1...n]$,要求去掉其中一段子区间使得区间剩下部分平均值最大,且不能去掉头和尾,去掉的区间长度 $len\ge1$ 。其中 $3\le n\le 10^5$ 。 "Luogu" 分析 0/1 分数规划问题。 因为一段区间的平均值为 $\frac{\sum_{d=i}^jw[d
阅读全文
摘要:给出以 1 号点为根的一棵有根树,问每个点的子树中与它距离小于等于 l 的点有多少个。 $(1\le N\le 2\times 10^5,1 \le L \le 10^{18})$ "Luogu" 分析 这道题有很多种方法,我用的是主席树。 很多题解在 dfs 时记录的都是 dfs 序,我记录的是和
阅读全文
摘要:设角 $\alpha$ 的终边与单位圆交于点 $P(x,y)$ ,则有 $$\sin{\alpha}=y,\cos{\alpha}=x$$ $$\tan{\alpha}=\frac{y}{x},\cot{\alpha}=\frac{x}{y}$$ $$\sec{\alpha}=\frac{1}{x}
阅读全文
摘要:终于学了 CDQ 分治了 简介 CDQ 分治是一个神奇的算法,它可以代替一些毒瘤的数据结构,而且常数极小,但美中不足的是它要求离线。 它一般用来解决序列上的一些点对问题,大概是如下流程: 1. 将序列分为三类: $l\le i \le mid, 1 \le j \le mid$ 的点对 $mid 给
阅读全文
摘要:给出一段序列,每次修改某个数的值和询问区间第 k 小。$(1\le n,m\le 10^5,0\le a_i\le10^9)$ "Luogu" 分析 动态主席树裸题。 树状数组套主席树,树状数组的每个结点相当于一棵主席树,每次修改操作只在对应树状数组的 logn 个结点所对应的主席树上修改,查询时,
阅读全文
摘要:主席树,即可持久化线段树,它是在权值线段树的基础上,记录了每个历史版本,从而可以方便快速的处理一些区间问题,最经典的应用有查询区间第 k 小。 当然,如果我们直接每次修改开一棵线段树,空间复杂度太大,肯定不行。但我们可以发现每次修改都只会改变一个结点的值,对于线段树来说,也就是只会有左儿子或者右儿子
阅读全文
摘要:众所周知, BST 的操作复杂度是 $O(\log n)$ ,但 BST 可能会退化成一条链,于是我们可以使用平衡树。 平衡树有很多种,但我还只会三种(我太菜了):Treap,Splay,fhq Treap Treap Treap 记录了一个优先级,并在满足构成 BST 的同时,会按照优先级的大小来
阅读全文
摘要:BST 是 Treap 的基础。 "这位大佬写的不错" 只写一点基本操作方便自己理解。 性质:左儿子 = k) { if (!tr[o].ls) return ans; else return pre(tr[o].ls, k, ans); } else { if (!tr[o].rs) { if (
阅读全文
摘要:有 n 个不同的盒子和 m 种球,每种球有 a[i] 个,求将这些球装到这些盒子里且盒子不能 为空的方案数。 $(n,m\le 1000,a[i] \le 1000)$ "Luogu" "BZOJ" 分析 容斥 + 组合 合法的方案数 = 总的方案数 至少 1 个人没有分到的方案数 + 至少 2 个
阅读全文
摘要:给出 n 个点 m 条边的无向图,可以交换任意两条边的权值 k 次,求 1 结点到 n 结点的最短路。 $(1 \le N \le 50,1\le M \le 150,1\le K \le20)$ "Luogu" "BZOJ" 分析 一开始想忽略每条边的权值,跑一遍最短路,求出边数最少的路径,然后找
阅读全文
摘要:给出一个空的二维矩形( w 行 w 列)和一些操作,操作包括单点修改和查询子矩形内的数量和。 $(1 \le w \le 2000000)$ "Luogu" 分析 典型的三维偏序问题。 显然,要求 $(x_1,y1)(x_2,y_2)$ 中的贡献,用一点点容斥,那么它就等于 $(1,1)(x_2,y
阅读全文
摘要:给出一个图,要求每次修改两点之间的边权,并求出修改后的最小生成树的边权之和。 $(n \le 20000, \ m,q \le 50000)$ "Luogu" "BZOJ" 分析 CDQ 分治 + MST 参考顾昱洲神犇的 "PPT" 我们对询问进行分治,对于当前区间 [l, r] 中的边,我们有如
阅读全文

浙公网安备 33010602011771号