随笔分类 -  题解

上一页 1 2 3 4 5 6 ··· 10 下一页
摘要:两维独立,问题变为给一堆线段,每个线段可以选中间或两边,求选出的东西之交最大是多少。 按端点把数轴分段,则钦定任意一段在最终的交中,就可以确定所有线段的选择方案。 定义 f(i) 表示钦定 i 段在最终的交中时交的大小,则答案为 maxf(i)。 考虑从左往右依次钦定每段在最终的交中 阅读全文
posted @ 2023-11-21 16:53 Jijidawang 阅读(6) 评论(0) 推荐(0) 编辑
摘要:对原树任意剖一下,然后链数等于叶子数。考虑分别算 i,j 在相同 / 不同链上的贡献。 注意到一个点 i 向链顶 / 链底延伸,形成的树链的 f 值都不超过 O(logV) 种, 记下这些 f 值的位置,记这些树链为 i 的前缀 / 后缀。 考虑 i,j 在相同链上的 阅读全文
posted @ 2023-11-20 21:42 Jijidawang 阅读(22) 评论(0) 推荐(0) 编辑
摘要:设 st 的长度为 L,记 p 为关键点,当且仅当从 p 能引出 3 条互不相交的,长度为 L 的路径, 则只需判断蛇的某一端能否到达关键点。 以某个关键点为根,依次将蛇的两端移动至其子树内最深的叶子, 若某一时刻蛇的两端有祖先关系,则蛇可以到达关键点。 树上倍增维护 阅读全文
posted @ 2023-11-20 21:27 Jijidawang 阅读(10) 评论(0) 推荐(0) 编辑
摘要:可以发现若最终所有棋子移动到 x,则操作次数一定是初始时所有棋子到 x 的距离和除以二, 于是只需求出哪些 x 可以作为最终所有棋子移动到的位置。 设 si 表示 i 子树内初始时棋子个数,fi 表示 i 子树内棋子经过若干操作后到 i 距离和最小是多少,$g_i 阅读全文
posted @ 2023-11-20 21:18 Jijidawang 阅读(4) 评论(0) 推荐(0) 编辑
摘要:在点分树的每个点上维护 Cu 表示 u 子树内的点到 fau 的距离集合, Pu 表示 u 到其每个子树的距离最大值集合。特别地,若 u 是白点,还要在 Pu 中加入 0, 即 $P_u=\begin{cases}\{\max\{C_v\}|fa_v=u\}& 阅读全文
posted @ 2023-10-27 20:27 Jijidawang 阅读(7) 评论(0) 推荐(0) 编辑
摘要:bitset 乱搞字符串匹配经典题。设原串为 s 串。 维护 pi 表示 i 字符的出现位置集合,这个在修改时容易用位运算做到。 考虑怎么匹配 z 串。扫描 z 串,设当前扫到第 i 位,维护 u 表示能匹配前 i 位的结束位置集合。 考虑从 i1 位扫到 $ 阅读全文
posted @ 2023-10-15 09:59 Jijidawang 阅读(5) 评论(0) 推荐(0) 编辑
摘要:显然不满足“奇数位都是奇数,偶数位都是偶数”的排列一定无法排成升序,以下“序列”默认均满足这个条件。 定义“操作”指交换任意一个相邻三元组的 1,3 位,即不一定满足题目要求,但要保证操作后逆序对数减小。 特别地,称满足题目要求的操作为“合法操作”。容易发现一个操作合法当且仅当其能消去 3 个全 阅读全文
posted @ 2023-10-15 09:10 Jijidawang 阅读(8) 评论(0) 推荐(0) 编辑
摘要:线段树每个点上维护区间最大值、最小值, 区间除以 x 时,由区间对应的每个节点向下递归到 max=min 的节点,在这些节点上区间推平。 每个节点被除 O(logV) 次后 max=min,所以总复杂度 O(nlognlogV)。 #include <cstd 阅读全文
posted @ 2023-10-08 16:53 Jijidawang 阅读(2) 评论(0) 推荐(0) 编辑
摘要:对每次询问,先求出最优方案下,左端点最多往右端点逼近几步, 然后同样求出最优方案下,右端点最多往逼近后的左端点逼近几步, 最后再逼近一步使左右端点重合即可。 倍增优化这个逼近的过程。 具体地,维护 li,j/ri,j 表示从 i2j 步最左 / 右能走到哪, 然后 $ 阅读全文
posted @ 2023-10-08 16:03 Jijidawang 阅读(15) 评论(0) 推荐(0) 编辑
摘要:必选一条端点在直径端点的路径,所以以直径两端点为根建两棵树,考虑一棵树的答案。 需要选出 1 条根到叶子的路径,k1 条叶子到叶子的路径,最大化路径并边权和, 而必定存在方案使得每条路径都经过根: 所以只需考虑选出哪 2k1 个叶子,使得构造出路径的并,即这 2k1 个叶子的根 阅读全文
posted @ 2023-10-08 14:37 Jijidawang 阅读(6) 评论(0) 推荐(0) 编辑
摘要:$$ \begin{aligned} &\sum_{i\in\text{subtree(u)}}d(u,i)^k\ =&\sum_{i\in\text{subtree(u)}}\sum\limits_{j=0}^k{d(u,i)\choose j}\begin{Bmatrix}k\j\end{B 阅读全文
posted @ 2023-10-08 11:56 Jijidawang 阅读(4) 评论(0) 推荐(0) 编辑
摘要:DFS 序分块,变成区间深度模 x 等于 y 的点加 z。散块暴力,考虑整块。 对 x 根号分治。xn 时,维护 Xi,j,k 表示 i 块被形如模 j 等于 k 的修改加了多少即可。 x>n 时维护 Yi,j阅读全文
posted @ 2023-10-08 11:50 Jijidawang 阅读(3) 评论(0) 推荐(0) 编辑
摘要:若 u 路径的起点在 v 路径上,则 u 必须比 v 先走, 若 u 路径的终点在 v 路径上,则 v 必须比 u 先走。 考虑建图,边 uv 存在当且仅当 u 必须比 v 先走, 若建出的图有拓扑序,则按拓扑序操作即可,否则无解。 建图的复杂度太 阅读全文
posted @ 2023-08-29 16:55 Jijidawang 阅读(5) 评论(0) 推荐(0) 编辑
摘要:(=1,)=1。 考虑在当前和为 s 的串 a 后接上 i 串,若 a 的任意前缀和 0,则 i 串中前缀和与前缀最小和均为 s 的位置可以形成 RBS 前缀, 预处理 sS 表示 S 中的串的和,预处理 $p 阅读全文
posted @ 2023-08-22 10:06 Jijidawang 阅读(5) 评论(0) 推荐(0) 编辑
摘要:考虑对结点排列 {pn},可以标号 Epi=Epi1+d(pi,pi1), 两点之间显然满足要求,$E_{p_i}-E_{p_{i-2}}=E_{p_i}-E_{p_{i-1}}+E_{p_{i-1}}-E_{p_{i-2}}=d(p_i,p_{i-1} 阅读全文
posted @ 2023-08-22 10:03 Jijidawang 阅读(4) 评论(0) 推荐(0) 编辑
摘要:考虑 i 人仅当存在某人选择 (ai,bi) 的位置时,可以选择 bi,此时选法与排列唯一对应,问题变为统计符合条件的选法数。 设 li 表示最小的 j 使得 bjairi 表示最大的 j 使得 ajbi,则 i 人不符合条 阅读全文
posted @ 2023-08-22 10:00 Jijidawang 阅读(11) 评论(0) 推荐(0) 编辑
摘要:设 ci=j=1n[aji]n+i 表示 i 可选的位置数, 则符合要求的排列共有 s=i=1nci 种,若 ci=0 显然答案为 0。 考虑每对位置 i,j|i<j 在多少排列中 阅读全文
posted @ 2023-08-22 09:59 Jijidawang 阅读(8) 评论(0) 推荐(0) 编辑
摘要:令 1 的性价比为 1xa 的性价比为 ayb 的性价比为 bz1 的性价比最高,第二高的情况平凡,钦定 aybz1x。 若 a>n,则 a 阅读全文
posted @ 2023-08-22 09:56 Jijidawang 阅读(4) 评论(0) 推荐(0) 编辑
摘要:设 fi 表示只用第 [i,n]a,b 能组成的字典序最大串,考虑选不选第 ia,b。 若不选第 ia,b,能组成的字典序最大串为 fi+1。 若选了第 i 对 $\texttt{a, 阅读全文
posted @ 2023-08-22 09:54 Jijidawang 阅读(1) 评论(0) 推荐(0) 编辑
摘要:设 fi 表示 [1,i] 的石头能形成多少种序列,pi 表示当前 i 的最后一次出现, 若不合并 ipai,能形成 fi1 种序列,若合并 ipai,能形成 fpai 种序列, 所以 $$ f_i= \b 阅读全文
posted @ 2023-08-22 09:51 Jijidawang 阅读(6) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 10 下一页
点击右上角即可分享
微信分享提示