合集-题解
摘要:省流:这是一个没 AK 的蒟蒻/kel 游寄 初赛糖没边了,无脑倒贴分,拿到了 J 组 86,S 组 80.5 的逆天成绩。 考前随便翻了翻历年 T4,感觉我不会啊! (事实证明,确实如此) 考前一天,我妈不知道从哪儿来的野消息,说可以带零食进考场,我还是拒绝了。进考场后盯着监考员一个一个地说:“零
阅读全文
摘要:一些闲话 原题链接 挺好的一道 DP 题,容斥+压缩维度优化 DP。 题意简述 Emiya 是个擅长做菜的高中生,他共掌握 \(n\) 种烹饪方法,且会使用 \(m\) 种主要食材做菜。我们对烹饪方法从 \(1\sim n\) 编号,对主要食材从 \(1\sim m\) 编号。Emiya 做的每道菜
阅读全文
摘要:原题链接 简述题意 给定一个长度为 \(n\) 的整数序列 \(a\)。现有 \(q\) 组询问 \((l_i,r_i)\),你需要将 \(a_{l_i}\sim a_{r_i}\) 分成三个连续子段,使得每个子段的最大值之和最小。 题解 容易观察到最大值 \(a_p\) 必然会造成贡献,并且其所在
阅读全文
摘要:原题链接 简述题意 有 \(n\) 个互不区分的骰子,每个骰子有 \(K\) 个面,上面有 \(1\) 到 \(K\)。两个局面不同当且仅当存在一个点数 \(i\) 使得投出 \(i\) 的数量不同。对于 \([2,2K]\) 中的每一个数 \(x\),求出任意投这个 \(n\) 个骰子使得不存在任
阅读全文
摘要:一些闲话 毒瘤题!!!时空都卡。难以想象 2019 年的考生作何感想。 简述题意 给定长度为 \(n\) 的序列 \(a\)。你需要找到一些分界点 \(1 \leq k_1 \lt k_2 \lt \cdots \lt k_p \lt n\),使得 \[\sum_{i=1}^{k_1} a_i \l
阅读全文
摘要:题意 原题链接 给定一个长度为 \(n\) 的排列 \(p\),并执行以下操作 \(m\) 次:选择 \(1\leq i<j\leq n\),交换 \(p_i\) 和 \(p_j\)。 定义一个序列 \(p\) 的权值为 \(\sum_{i=1}^{n-1}|p_i-p_{i-1}|\)。求在 \(
阅读全文
摘要:题意简述 给定 \(k\) 和一个长度为 \(n\) 的序列 \(a\),定义一个区间 \([l,r](l\leq r\land r-l+1\geq k)\) 的权值为 \(a[l,r]\) 中除去前 \(k\) 大的元素和。求出最大权值。 对于所有数据,\(1\leq n\leq 2\times
阅读全文
摘要:题意简述 给定一个 \(n\) 个点 \(m\) 条边的有向简单图,问有多少种删边的方案,使得删去后整个图是强连通的,答案对 \(10^9+7\) 取模。 对于所有数据,\(1\leq n\leq 15\),\(0\leq m\leq n(n-1)\)。 题解 \(\text{Upd 2025/3/
阅读全文
摘要:题意 给定一颗 \(n\) 个点的树,\(q\) 次询问 \(x,y,z\),找到 \(3\) 个点 \(u,v,w\) 满足 \(\operatorname{dist}(u,v)=x,\operatorname{dist}(u,w)=y,\operatorname{dist}(v,w)=z\),数
阅读全文
摘要:题意 给定 \(n,k\),求出 \(\sum_{x=0}^nx\oplus(x+2^k)\)。多测,\(1\leq T\leq 10^5,0\leq n<2^{29},0\leq k\leq 29\)。 题解 设 \(B=\lfloor\log_2(n)\rfloor\)。特判 \(k>B\),此
阅读全文
摘要:题意 有 \(n\) 个布尔变量和 \(m\) 条限制,设 \(s_i\) 表示第 \(i\) 个布尔变量的取值,每条限制 \((u,x,v,y)(x,y\in\{0,1\})\) 表示 \(s_u=x\Rightarrow s_v=y\) 且 \(s_v=y\Rightarrow s_u=x\)。
阅读全文
摘要:\(\text{Upd 2025/5/4}\):修正了一些笔误。 \(\text{Upd 2025/12/12}\):修正了一些笔误。 题意 对于值域为 \([1,m]\) 的序列 \(b\),定义其权值为执行以下操作的最小次数,使得 \(b\) 中任意相邻两数不同: 选定一个 \(b_i\),将其
阅读全文
摘要:题意 有一个 \(n\times m\) 的地图,其中 . 表示空地,# 表示墙,X 表示起点,W 表示终点。你可以从空地 \((i,j)\) 走一步到上/下/左/右的空地,也可以使用一次魔法,从空地 \((i,j)\) 走到左上/左下/右上/右下的空地而不耗费步数。从起点走到终点,你需要在最小化步
阅读全文
摘要:题意 给定长度为 \(n\) 的序列 \(a\)。你需要将其划分为若干个区间,使得对于每个区间 \([l,r]\) 都有 \(a_l=a_r\)。定义一种划分方案的权值为所有区间内元素积之和,求所有合法划分方案的权值和。答案对 \(998244353\) 取模。\(1\leq n\leq 2.5\t
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树,有一个棋子初始时在 \(r\) 节点上。Alice 和 Bob 会轮流对棋子进行操作,Alice 先手。 Alice 操作时,必须把棋子沿着 \(A\) 条两人都未走过的边移动。 Bob 操作时,必须把棋子沿着至多 \(B\) 条边移动。 当 Alice 无法操
阅读全文
摘要:题意 给定一个长度为 \(n\) 的序列 \(a\)。你可以进行以下三种操作: 把 \(a\) 中所有元素取相反数。 选择 \(a\) 的一个子段,替换成其前缀和数组。 选择 \(a\) 的一个子段,替换成其后缀和数组。 求最少的操作次数使得 \(a\) 中所有元素非负,并给出一个合法的操作序列。\
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树,节点 \(i\) 上有 \((a_i,b_i)\) 二元组,初始时为 \((0,0)\)。\(q\) 次操作: 给定 \(x,c\),设当前是第 \(t\) 次操作,对于 \(x\) 到根节点的路径上的每个点 \(i\),若 \(a_i\neq c\) 则令 \
阅读全文
摘要:一些约定 下文中的 \(x\) 的祖先,都指位于 \(\bm{fa_x}\) 到根节点路径上的点(也就是不包括 \(x\))。 对于无向图 DFS 生成树中的一条返祖边,我们称深度较浅的那端为上端点,深度较深的那端为下端点。 题意 对于一张无向图,若将某个点删去后图不连通,则称这个点是危险的。给定一
阅读全文
摘要:题意 给定一个 \(3\times n\) 的网格,每个格子 \((i,j)\) 内有一个数 \(a_{i,j}\)。一个人初始分数为 \(0\),在位置 \((1,1)\) 处,每次可以向右或向下走一格,目标是到达 \((3,n)\)。当走到格子 \((i,j)\) 时,这个人的分数会增加 \(a
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树,设根节点 \(1\) 的深度为 \(1\)。给定 \(k\),求有多少从树中选出 \(k\) 个两两不同的节点,组成有序序列 \(b_1,\cdots,b_k\) 的方案,使得: 对于每个 \(1\leq i<k\),\(1<d_{b_i}\leq d_{b_{
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树,第 \(i\) 条边 \((a_i,b_i)\) 有边权 \(c_i\),第 \(i\) 个点有一个爆炸半径 \(r_i\)。当一个点被引爆时,所有在该点爆炸半径范围内的点也会被引爆,这些新的被引爆的点也可能继续引爆其他点……对于每个点 \(i\),求出该点被引
阅读全文
摘要:题意 给定 \(n\),对于每个 \(1\leq i,j\leq n\),给出 \(d(i,j)\)。对于集合 \(S\),定义 \(D(S)=\max\limits_{i,j\in S}d(i,j)\)。将 \(\{1,2,\cdots,n\}\) 划分为两个集合 \(A,B\),最小化 \(D(
阅读全文
摘要:题意 给定长度为 \(n\) 的序列 \(a\) 和一个数 \(X\),求有多少种 \(a\) 的重排 \(b\) 使得 \(\sum\limits_{i=1}^n\max(b_i-i+1,0)\leq X\)。\(1\leq n\leq 100\),\(1\leq a_i,X\leq 10^9\)
阅读全文
摘要:题意 给定 \(C,X\),构造一个 \(n(1\leq n<2^{60})\) 使得 \((n\oplus C)\bmod{n}=X\),或报告无解。多测,\(1\leq T\leq 2\times 10^5\),\(1\leq C,X<2^{30}\)。 题解 神人构造题。 显然要有 \(n>X
阅读全文
摘要:题意 给定长度为 \(n\) 的序列 \(a\) 和值域 \(V\)。有 \(m\) 次操作: 给定 \(l,r,x\),将 \(a[l,r]\) 中 \(=x\) 的数改为 \(0\)。 给定 \(x\),在序列末尾添加 \(x\)。 给定 \(l\),查询最小的 \(r\) 使得 \(a[l,r
阅读全文
摘要:题意 给定长度为 \(n\) 的字符串 \(s\) 和权值序列 \(v\)。求所有子串 \(s[l,r]\) 使得 \(s[l,r]\) 在所有子串去重后的字典序降序排名,恰好等于 \(v[l,r]\) 的区间和。\(1\leq n\leq 10^5\)。 题解 注意到固定左端点 \(l\) 后,随
阅读全文
摘要:题意 给定 \(n,m\)。对于 \(n\times m\) 的网格 \(a\),定义 \[c_{i,j}=\left\lvert \sum_{k=1}^{n}a_{k,j}-\sum_{k=1}^{m}a_{i,k} \right\rvert \]现在给定 \(c\),构造一组合法的 \(a\)。
阅读全文
摘要:题意 给定 \(n\),对于所有 \(0\leq x,y<n\) 求有多少长度为 \(n\) 的排列 \(p\) 满足 \(\sum\limits_{i=1}^{n-1}[p_i<p_{i+1}]=x\) 且 \(\sum\limits_{i=1}^{n-1}[p^{-1}_i<p^{-1}_{i+
阅读全文
摘要:题意 给定长度为 \(n\) 的排列 \(p\),\(q\) 次询问 \(l,r\),求 \(p[l,r]\) 的 LIS 长度。\(1\leq n,q\leq 10^5\)。 题解 挺牛的题。 考虑如何刻画 LIS。感觉上 DP 没有什么前途,考虑另一种经典的 \(\mathcal{O}(n\lo
阅读全文
摘要:题意 对于两个排列 \(p,q\),定义它们的距离为将 \(p\) 变成 \(q\) 的最小操作次数,其中每次操作可以交换 \(p\) 中两个元素的位置。现在给定两个长度为 \(n\) 的排列 \(p,q\),其中一些位置被替换成了 \(0\)。对于每个 \(0\leq k\leq n-1\),求补
阅读全文
摘要:建议读者可以先去学习边三连通分量,因为本题的做法很大程度上与边三相关。 题意 给定一张 \(n\) 个点 \(m\) 条边的无向简单连通图和 \(k\) 个二元组 \((a_i,b_i)\)。初始时所有边权为 \(0\),你需要选择两条不同的边,将它们的边权置为 \(1\),使得 \(\sum\op
阅读全文
摘要:游记 Day -? 初赛获得了 \(95\text{pts}\),喜提 S > J。 Day -? 不报 J 组了。 Day -1 获得了 \(0(100)+10+0+0=10(110)\) 分。 感觉自己 \(rp\leftarrow rp+\infty\) 了,这就是信心赛吗!!!!111。 D
阅读全文
摘要:题意 有一排编号为 \(1\sim n\) 的座位。有 \(k\) 种饮料,第 \(i\) 名乘客想要喝第 \(a_i\) 种饮料。小推车需要从 \(0\) 位置出发,最终走到 \(n+1\) 位置,按顺序给每名乘客分饮料。推车上有 \(m\) 个瓶子,每个瓶子可以装 \(p\) 个单位的某一种饮料
阅读全文
摘要:题意 给定长度为 \(n\) 的序列 \(a\)。有 \(q\) 次修改,第 \(i\) 次修改给出 \(x_i,v_i\),表示令 \(a_{x_i}\gets v_i\)。每次修改后你需要求出 \[\sum_{i=1}^n\sum_{j=i+1}^n\max_{k=i}^{j-1}[\opera
阅读全文
摘要:闲话 帅炸了。 这是主播被 \(n=1\) 的 case 卡爆了,望周知。 题意 给定长度为 \(n\) 的序列 \(a\),值域为 \([1,n]\),有一些位置未确定。你需要给这些未确定的位置的确定取值,使得序列 \(b_i=a_{a_i}\) 的字典序最小。多测,\(1\leq T\leq 1
阅读全文
摘要:一些记号 下文中令 \(d_p(x)=\max\limits_{k\in\mathbb{N},p^k\mid x}k\)。 题意 对于 \(x\in\mathbb{Q}^{+}\),设 \(x=\dfrac{p}{q}\),其中 \(p,q\) 为互质正整数,令 \(f(x)=pq\)。给定长度为
阅读全文
摘要:题意 给定长度为 \(n\) 的小写字母串 \(s\)。你可以将至多一个位置修改为任意小写字母,使得新串的回文子串数量最多,在此基础上,最小化新串的字典序。\(1\leq |s|\leq 3\times 10^5\)。 题解 居然没有调试一遍过了,有点帅。 比较无聊的题。 先对 \(s\) 跑一次
阅读全文
摘要:题意 给定 \(n\) 个大小写字母串 \(s_i\)。每次操作可以选择两个没有选过的串 \(s_i,s_j(i\neq j)\),产生 \(\min(|\operatorname{lcp}(s_i,s_j)|,|\operatorname{lcs}(s_i,s_j))|^2\) 的贡献。求能产生的
阅读全文
摘要:\(100+100+28+40=268\),T3 好像拿的分过于少了。 不管了,T1、T2 都击杀了,还行。 T1 原题:TopCoder 13061。 题意 有 \(n\) 种面值的硬币,第 \(i\) 种面值为 \(a_i\),保证 \(a_1=1\),\(\forall 1\leq i<n,a
阅读全文
摘要:题意 定义 \(\ominus\) 为二进制不退位减法。对于一个可重集 \(S\),你可以进行若干次操作,每次操作可以选择 \(S\) 中的两个数 \(x,y\),合并成 \(x\ominus y\) 或 \(y\ominus x\)。定义 \(f(S)\) 为将 \(S\) 合并至只剩一个数时,该
阅读全文
摘要:题意 给定长度为 \(n\) 的排列 \(p\),每次操作可以选择 \(i,j,k,l\) 满足 \(1\leq i\leq j<k\leq l\leq n\),交换 \(a_{i\sim j}\) 和 \(a_{k\sim l}\)。。求最小操作次数使得 \(p\) 单调递增。\(1\leq n\
阅读全文
摘要:题意 给定一个 \(n\times m\) 的 \(0/1\) 网格,求有多少个面积至少为 \(k\) 的全 \(0\) 矩形。\(1\leq n,m\leq 2\times 10^3\),\(1\leq k\leq nm\)。 题解 简单题,击杀了。 考虑枚举矩形下边界 \(d\),设 \(h_i
阅读全文
摘要:一些记号与约定 我们约定二进制表示下最低位为第 \(0\) 位,设 \(\operatorname{bit}_i(x)\) 为 \(x\) 在二进制表示下第 \(i\) 位的值。 题意 给定长度为 \(n\) 的序列 \(a\),求其所有子区间的按位或和之和,答案对 \(2^{64}\) 取模。\(
阅读全文
摘要:题意 有 \(n\) 个点集 \(S_{0\sim n-1}\)。初始时 \(S_0\) 只包含一个 \(id=0\) 的点 \((0,c_0)\)。对于每个 \(S_i\),其由 \(S_{fr_i}\) 得来,然后有两种可能: 给定 \(id,x,c\),表示向 \(S_i\) 中加入一个编号为
阅读全文
摘要:题意 给定长度为 \(n\) 的序列 \(a,b\),按照 \(i=1\sim n-1\) 的顺序执行以下操作: 从 \([i+1,n]\) 中随机选择一个整数 \(j\),令 \(a_j\gets \min(a_j+a_i,b_j)\)。 对于每个 \(i\in [0,b_n]\),求最终 \(a
阅读全文
摘要:题意 给定 \(n,m,b_0\),求有多少整数序列 \(a_{1\sim n}\),满足: \(a_i\in [1,m]\)。 存在非负整数序列 \(b_{0\sim n}\),使得 \(\forall 1\leq i\leq n,|b_i-b_{i-1}|=1\land b_i\neq a_i\
阅读全文
摘要:题意 有两道菜,做第一道菜有 \(n\) 个步骤,完成第 \(i\) 步需要 \(a_i\) 分钟,做第二道菜有 \(m\) 个步骤,完成第 \(j\) 步需要 \(b_j\) 分钟。两道菜的步骤可以交替执行,中途不能休息。 若你在 \(s_i\) 分钟内完成第一道菜的第 \(i\) 步,则获得 \
阅读全文
摘要:题意 设 \(Q_k(s)\) 为 \(s\) 的所有长度 \(\leq k\) 的本质不同子序列构成的集合。给定小写字母串 \(s\),求最小的正整数 \(x\) 使得 \(\forall 1\leq i<j\leq n,\ Q_x(s_{i\sim n})\neq Q_x(s_{j\sim n}
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树,点 \(i\) 的点权 \(a_i\) 可以被赋为 \([l_i,r_i]\) 中的任意整数。\(q\) 次询问 \(k\),判断是否存在一种赋点权的方式,使得最大权独立集为 \(k\)。可能需要给出构造。\(2\leq n\leq 2\times 10^5\)
阅读全文
摘要:题意 给定 \(m\) 和一个长度为 \(n\) 的序列 \(a\),对于 \(1\leq i\leq n,a_i\in[1,m]\cap\mathbb{Z}\)。现在可以进行若干次修改,每次修改可以选定一个 \(a_i\),将其修改为 \([1,m]\) 中的一个整数。求在 \(a\) 中任意相邻
阅读全文
摘要:\(\text{Upd 2025/5/2}\):修正一些笔误,简化了做法。 \(\text{Upd 2025/5/16}\):走直径的做法假了,改为正确做法。 题意 给定一棵以 \(1\) 为根的树。一个人从 \(x\) 出发,有 \(t\) 秒的时间,往远离根方向每走一个单位就会耗费 \(1\)
阅读全文
摘要:一些记号与约定 下文中用 \(sub_u\) 表示以 \(u\) 点为根的子树,\(dep_u\) 表示 \(u\) 到 \(1\) 的路径上的节点个数,\(sz_u\) 表示 \(sub_u\) 的大小。 题意 给定一个 \(n\) 个点的、以 \(1\) 为根的树。求有多少个长度为 \(n\)
阅读全文
摘要:题意 给定一个 \(n\times m\) 的网格,每一格都是 . 或 #。求有多少非空子矩形,使得 . 和 # 个数相同。多测,\(1\leq T\leq 2.5\times 10^4\),\(1\leq nm\leq \sum{nm}\leq 3\times 10^5\)。 题解 还是在比赛结束
阅读全文
摘要:题意 给定长度为 \(n\) 的序列 \(a\)。\(q\) 次操作,支持: 对 \(a\) 进行一轮冒泡。 查询区间和。 \(2\leq n\leq 5\times 10^5\),\(1\leq q\leq 5\times 10^5\),\(1\leq a_i\leq 10^9\)。 题解 我们首
阅读全文
摘要:题意 对于一个长度为 \(n\) 的序列 \(a\),定义 \(f(a)\) 为将其划段的方案数,使得对于每一段 \(a[l,r]\) 都有 \(r-l+1\geq\max\limits_{i=l}^ra_i\)。 现在给定一个长度为 \(n\) 的序列 \(a\),对于每个位置 \(i=1,2,\
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树,边带权。对于每个 \(1\leq k<n\),求出这棵树的大小为 \(k\) 的最大权匹配。\(2\leq n\leq 2\times 10^5\)。 题解 容易得到一个暴力的树形 DP:令 \(f_{u,i,0/1}\) 表示考虑 \(u\) 子树内的点,匹配
阅读全文
摘要:题意 给定集合幂级数 \(F(x)\),对于每个 \(S\subseteq \{1,2,\cdots,n\}\),求 \([x^S]\exp(F(x))\),答案对 \(\mathbf{2^{64}}\) 取模。 题解 传统做法是对占位多项式做 \(\exp\),需要求逆元,不适用于本题。 考察 \
阅读全文
摘要:题意 对于 \(n\times n\) 的矩阵 \(A\),定义 \(f(A)\) 为最小的满足 \(A^b=O\) 的正整数 \(b\),若不存在则为 \(0\)。\(O\) 为零矩阵。给定 \(n,a\),求所有 \(n\times n\) 的值域为 \([0,a)\) 的矩阵的 \(f\) 值
阅读全文
摘要:题意 给定集合幂级数 \(F(x)\),对于每个 \(S\subseteq \{1,2,\cdots,n\}\),求 \([x^S]\ln(F(x))\),答案对 \(\mathbf{2^{64}}\) 取模。 题解 前情提要:P13843。 传统做法是对占位多项式做 \(\ln\),需要求逆元,不
阅读全文
摘要:题意 给定一棵以 \(1\) 为根的 \(n\) 个点的树,点 \(i\) 的点权为 \(a_i\)。你可以进行两种操作: 选择一个点 \(u\),将 \(sub_u\) 内所有点的点权减 \(1\)。 选择一个数 \(x\),将所有深度为 \(x\) 的点的点权减 \(1\)。 对于每个点 \(u
阅读全文
摘要:题意 给定集合幂级数 \(F(x)\) 和一个 \(n\) 次多项式 \(G(x)\),对于每个 \(S\subseteq \{1,2,\cdots,n\}\),求 \([x^S]G(F(x))\)。\(1\leq n\leq 20\)。 题解 这个 DP 也是没有人类了。 显然有 \[[x^S]G
阅读全文
摘要:题意 对于 \(01\) 串 \(S\),我们不断删除 \(S\) 中的 \(\texttt{01}\) 子串,直至 \(S\) 中不含 \(\texttt{01}\) 子串,最终得到的串设为 \(f(S)\)。定义 \(V(S)=\sum\limits_{|T|=|S|}[f(S)=f(T)]\)
阅读全文
摘要:题意 有一张 \(n\) 个点的图,初始时图中无边。给定 \(m\) 条无向边,每次操作可以选择 \(m\) 条边中的一条加入图中。对于每个 \(i=1,\cdots,n-1\),求出加入 \(i\) 条边后图形成一个森林的方案数。\(2\leq n\leq 20\),\(1\leq m\leq 5
阅读全文
摘要:题意 比较繁琐,详见原题。 注意一个时间段 \([l,r]\) 的长度为 \(r-l\)。 题解 不难的题,模拟赛场切了。 所有 \(s_i,t_i\) 会将 \([0,m]\) 切割成若干个时间段,不妨分类讨论一下每个时间段的左右端点类型,考察其何时对答案有贡献: 若左端点是 \(t_i\),右端
阅读全文
摘要:题意 给定一棵 \(n\) 个点的二叉树,点 \(i\) 的点权为 \(a_i\)。你需要将所有边依次删除,删除一条边 \((u,v)\) 会交换 \(a_u\) 和 \(a_v\),并产生 \(a_u+a_v\) 的代价,求最小代价。\(1\leq n\leq 5\times 10^3\)。 题解
阅读全文
摘要:题意 有 \(n\) 个人,第 \(i\) 个人会决定参加会议,当且仅当有至少 \(k_i\) 个编号在 \([l_i,r_i]\) 中的人已经决定了参加会议。求参加会议的最大可能人数。\(1\leq n\leq 4\times 10^5\)。 题解 考虑一个暴力:用队列维护当前 \(k_i=0\)
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树,点 \(u\) 的点权为 \(a_u\)。对点 \(u\) 进行一次操作会令 \(a_u\gets -a_u+\sum\limits_{(u,v)\in E}a_v\),然后对于每个 \(u\) 的邻点 \(v\),令 \(a_v\gets 0\)。你需要进行若
阅读全文
摘要:题意 给定一个 \(n\times m\) 的网格 \(a\),每个格子里填 \(0\sim 2\),有一些格子没有填数。在每一个时刻,对于一个 \(a_{i,j}=x\) 的格子 \((i,j)\),若其四联通的格子中有 \(x-1\),则 \(a_{i,j}\) 也会变成 \(x-1\),在 \
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树,边有权值。对于一条从 \(u\) 到 \(v\) 的路径: 初始时 \(s=0,c=0\)。 每经过一条权值为 \(w\) 的边,令 \(s\gets s+w\)。若 \(s<0\),则令 \(s\gets 0,c\gets c+1\)。 对于每个点 \(u\)
阅读全文
摘要:题意 给定长度为 \(n\) 的序列 \(a\)。\(q\) 次询问 \(l,r,k\),求 \(\sum\limits_{i=l}^{r-k+1}\min\limits_{j=i}^{i+k-1}a_j\)。\(n,q\leq 10^5\)。 题解 首先用差分转化成前缀询问。 考虑经典技巧,把 \
阅读全文
摘要:题意 给定一棵 \(n\) 个点的树。对于每个 \(1\leq i\leq n\),求出有多少这棵树的拓扑序 \(p\) 使得 \(p_i=i\)。\(n\leq 5\times 10^3\)。 题解 考虑暴力枚举 \(u\) 计算答案。注意到我们只限制了 \(p_u=u\),所以我们并不关心 \(
阅读全文
摘要:题意 给定两个正整数 \(x,y\),每次操作可以: \(x\gets 2x\)。 \(x\gets x+1\)。 \(y\gets 2y\)。 \(y\gets y+1\)。 求最小操作次数使得 \(x=y\)。多测,\(T\leq 5\times 10^7\),\(x<y\leq 10^{18}
阅读全文
摘要:题意 数轴 \([0,m]\) 上有一只老鼠,初始时可能位于数轴上的任意点。这只老鼠可以在数轴上任意移动,但是任何时刻瞬时速度不超过 \(1\) 个单位每秒。 有 \(n\) 只机器猫,部署第 \(i\) 只的代价为 \(w_i\),部署后它会在 \(t_i\) 时刻出现在 \(a_i\),以每秒
阅读全文
摘要:题意 给定 \(n\) 和 \(1,\cdots,n\) 的一个大小为 \(k\) 的子序列 \(a\)。求有多少长度为 \(n\) 的排列 \(p\),使得 \(a\) 是 \(p\) 的一个 LIS。\(k\leq n\leq 15\)。 题解 题意看上去一脸 DP 套 DP 的样子,经典地,我
阅读全文
摘要:题意 有一个长度为 \(n\) 的序列 \(a\) 和初始时全为 \(0\) 的序列 \(b\)。有 \(m\) 个操作 \(l_p,r_p,c_p\),执行第 \(p\) 个操作会对于每个 \(l_p\leq i\leq r_p\),令 \(b_i\gets\max(b_i,c_p)\)。每次会等
阅读全文
摘要:题意 给定长度为 \(n\) 的序列 \(a\)。有 \(q\) 次单点修改,在所有修改前和每次修改后,求有多少对 \((i,j)\) 满足: \(a_i=a_j\)。 \(\forall i<k<j,a_k<a_i\)。 \(n\leq 10^5\),\(q\leq 2.5\times 10^5\
阅读全文
摘要:题意 有 \(n\) 个点。对于一个边集 \(E\),定义 \[f(E)=\sum_{i=1}^ni\times deg_i+\sum_{(u,v)\in E}u\operatorname{and} v \]\(q\) 次询问 \(l,r\),求点集 \(V=\{l,\cdots,r\}\) 时所有
阅读全文
摘要:瞎写写过了,有点诡异了。 使用 Boruvka 刻画完全图最大生成树,考虑给每个点 \(u\) 找到最优的 \(v\) 使得 \(\operatorname{lcm}(u,v)+\gcd(u,v)\) 最大。把边权化成 \(\dfrac{uv}{\gcd(u,v)}+\gcd(u,v)\),直觉上让
阅读全文
摘要:首先有结论:一个位置上的数要么不变,要么操作成 \(\infty\),要么操作成 \(0\)。 证明 对于 \(a_i\),考察其相邻两个数形成的值域区间 \([\min(a_{i-1},a_{i+1}),\max(a_{i-1},a_{i+1})]\),分类讨论操作后 \(a_i\) 的取值: \
阅读全文
摘要:对于每对球,把左边的视作左括号,右边的视作右括号。题意转化成需要给每个位置填上左右括号,使得段内没有匹配的括号,整个串是一个合法括号串。显然每个段由一段前缀的右括号和一段后缀的左括号构成。 容易想到二分 \(mid\),判定答案是否 \(\leq mid\),也就是要求对于每两个相邻的段,前面段的左
阅读全文
摘要:比较自然的做法。 对于两条边权相同的边,不妨钦定编号较小的边更小。 有结论:对于任意一条边,使得它在最小生成树中出现的 \(x\) 是一个连续区间。 证明 考察最小生成树经典结论:一条边 \(e\) 不被包含在最小生成树中,当且仅当存在一个包含 \(e\) 的环,使得 \(e\) 的边权大于环上其他
阅读全文
摘要:我咋写的那么蠢。 显然平衡序列的长度只能是 \(2^k-1\),因此平衡区间的总个数是 \(\mathcal{O}(n\log{n})\) 的。进一步观察性质,发现一个区间不会包含另一个等长度的区间的中点。考察一个位置 \(x\),对于一种长度 \(len\),包含 \(x\) 的长度为 \(len
阅读全文
摘要:考虑如何判定。从小到大考虑每个值 \(v\),考察所有 \(i\) 使得 \(a_i\leq v<b_i\),这些 \(i\) 需要 \(+1\),如果此时不存在 \(i\) 使得 \(b_i=v\),那么显然会剩下一个需要 \(+1\) 的 \(i\) 被留在当前层,这时候就不合法了。同时不难证明
阅读全文
摘要:这啥唐题。 考虑 \(|S|=2\) 怎么做。把序列劈成左右两半,分别问两边,这样可以得到两个元素都在左半区间/右半区间的集合个数。还要计算一个在左半边,另一个在右半边的集合个数。容易想到把序列劈成 \(4\) 份,左半边有 \(2\) 个,右半边也有 \(2\) 个,从左右各选一个小区间拼在一起查
阅读全文
摘要:我们要给 \(a\) 排序,考虑如何比较两个数 \(a_u,a_v\)。考察这样的构造:定一个异于 \(u,v\) 的根 \(rt\),连 \((rt,u)\) 和 \((u,v)\),对于其他点 \(i\) 连 \((rt,i)\)。若返回的最大独立集不包含 \(rt\),则容易比较 \(a_u,
阅读全文
摘要:\(\text{Upd 2026/3/20}\):添加了一些说明。 \(\text{Upd 2026/4/22}\):修正了一处笔误,感谢 @ran_qwq 指出。 这也太难了,场上一分没拿到 /ll 谨以这篇题解纪念我死透了的高一赛季。 提供一种异或四元环不需要找欧拉回路的做法。 取原图的补图,转
阅读全文
摘要:咕了半年的题解。 比较简洁的做法。 显然,任何可表示的矩阵 \(A\) 都满足:其每一行与每一列的元素和均为同一个定值 \(S\)。反过来,只要知道 \(A\) 左上角 \((n-1)\times (n-1)\) 的子矩阵以及 \(S\),就可以唯一确定整个矩阵 \(A\)。因此,这类矩阵构成的线性
阅读全文
摘要:这真是紫题吗,\(5\text{ min}\) 击杀了。 对每个连通块分别做,猜测一个连通块的答案为 \(\lfloor m/2\rfloor\)。 建出一棵 DFS 生成树,自底向上做。对于当前点 \(u\),将 \(u\) 未匹配的邻边两两配对,若有奇数条邻边则把 \((u,fa_u)\) 剩下
阅读全文
摘要:前置知识:拟阵。 不会拟阵大概只能感性理解做法正确性了。 为了方便,我们将 \(L,R\) 的定义改为:当松鼠横坐标为 \(i-0.5\) 时,高度必须在 \([L_i,R_i]\) 之间。特别地,令 \(L_0=R_0=0\)。若 \(R_n<h\) 则全部无解,否则再令 \(L_n=R_n=h\
阅读全文
摘要:\(tp=1\) 考虑枚举 \(S\) 在 \(T_{\max}\) 中的根 \(\max(S)=x\)。观察到 \(sub_{T_{\max}}(x)\) 本身在 \(T\) 中的导出子图就是连通的,其对应着 \(T\) 中包含 \(x\) 的节点编号均 \(\leq x\) 的极大连通块 \(S
阅读全文
摘要:不是很难。 考虑固定终点 \(d\),如果一条有向边 \(u\rightarrow v\) 的路标包含 \(d\),则这条有向边是可以走的。显然每个点的出度至多为 \(1\),因此每个连通分量必然是一棵内向树或一棵内向基环树。而 \(d\) 的出度恰好为 \(0\),因此固定终点为 \(d\) 时,
阅读全文
摘要:提供一个至多 \(m\) 次的做法。 一个经典结论是,任取无向连通图 \(G\) 的两棵生成树 \(T_1,T_2\),则 \(T_1\) 必然可以通过若干次“加入一条非树边,删去一条树边”的操作变成 \(T_2\)。 证明 显然存在一条 \(T_2\) 中的树边 \(e\),使得 \(e\) 为
阅读全文
摘要:先考虑 DP。用 \(f_i(n)\) 表示只考虑第 \(0\sim i-1\) 位,\(f(n,k)\) 的最大值。若 \(n\geq 2^{i-1}k\),则 \(k\) 个数的第 \(i-1\) 位都可以放 \(1\),对按位与值的贡献为 \(2^{i-1}\)。由于 \(f_{i-1}(x)
阅读全文
摘要:世界机器还是太厉害了,来点唐唐做法。 设 \(x=\dfrac pq\),\(y=1-x\)。 容易发现 \(l_il_{i+1}\) 的组合意义就是从相邻的连续 \(0\) 段中各选出一个 \(0\) 的方案数。根据期望的线性性,我们相当于要求 \[\sum_{1\leq i<j\leq n}P(
阅读全文
摘要:写这个题跟用户名没啥关系。 设 \(a_i=0\) 的位置为 \(c_1,\cdots,c_m\),\(pre_i\) 为 \(a_{1\sim i}\) 中 \(0\) 的个数。可以发现 \(b_{c_i}\) 是严格单调递增的,设其中的数值构成的集合为 \(S\)。 从值域考虑,不难发现对于非
阅读全文
摘要:定义域空间 \(S_1\times\cdots\times S_m\) 和距离函数都是连续的,所以函数值域也是连通的,我们只需要分别求出最小值和最大值即可。 先求最大值。首先证明,对于关于 \(x\) 的函数 \(D(a,x)+D(x,b)\)(\(x\in S_i\)),最大值一定可以在 \(S_
阅读全文
摘要:赛时做法,和官解不太一样。 设 \(x\) 的出现次数为 \(c_x\)。 不难推出 \[\begin{align*} f(0)&=\sum_{v=0}^{2^m-1}\left\lfloor\frac{c_v}{2}\right\rfloor\\ f(x)&=\sum_{v=0}^{2^m-1}[
阅读全文
摘要:难点在于会 NTT。 尝试刻画 \(x,y\) 之间存在长度为奇数的路径的条件。显然 \(x,y\) 要在同一个连通块中。注意到若连通块中存在奇环,则任取一条路径走奇环即可改变其长度奇偶性,因此一定存在长度为奇数的路径;若连通块为二分图,则存在长度为奇数的路径当且仅当 \(x,y\) 在二染色后异色
阅读全文
摘要:诡异。 设三种手势分别为 \(\texttt{R},\texttt{S},\texttt{P}\)。分类讨论获胜的人中有几种手势。 \(1\) 种手势 不妨设获胜的人都出 \(\texttt{R}\),这些人的两边必须都出 \(\texttt{S}\)。 若 \(n\) 为偶数且 \(\texttt
阅读全文
摘要:很有意思的题。 根据题述条件,不难看出一个合法的点亮灯泡的方案相当于一个极大独立集。也就是说,我们要构造一个 \(m\) 条边、最大度数为 \(d\) 的无向连通图,使得图中的极大独立集个数最大化。 我们指出,使得极大独立集个数最大化的图,一定可以取一棵树。 证明 使用调整法。 任取一个极大独立集个
阅读全文
摘要:这很神秘你知道吗。难点在于想到倒着做。 显然 \[s_i-s_{i-1}=\sum_{j=1}^{i-1}[p_j>p_i] \]也就是说,\(s_i-s_{i-1}\) 传达的信息是 \(p_i\) 在 \(p_{1\sim i}\) 中的排名。 容易想到逐个确定 \(s_i\) 对应位置的值。
阅读全文
摘要:挺有意思的题,思路比较自然。 设相反的比较出现在第 \(n+1-m\) 轮冒泡中,这一轮冒泡后 \(a_m=x\),由于前后的轮次中比较是正确的,若 \(x<m\),则最终 \(a\) 一定形如 \[1,\cdots,m,x,m+1,\cdots,n \]若 \(x=m\),则最终 \(a\) 是有
阅读全文
摘要:题很有意思!赞美出题人! 把 \(n\) 种颜色分块,块长设为 \(B\)。 预处理 \(p_1(i)\) 表示该节点到根节点的路径上,包含除了第 \(i\) 块以外的所有颜色,每种颜色恰好出现一次;\(p_2(i,j)\) 表示该节点到根节点的路径上,包含除了第 \(i,j\) 块以外的所有颜色,
阅读全文
摘要:这就是我们 Implicit 老师出的题吗!畏惧了。 顺着赛时思路摸出来的偏数论的做法。 设向右、向上各走了 \(k\) 步,则可以确定向右上走了 \(2n-k\) 步,可以得到 \[a_n=\sum_{k=0}^{\lfloor n/2\rfloor}\frac{n!}{k!k!(n-2k)!}=
阅读全文
摘要:将路径视作长度为 \(n+m\) 的 \(\texttt{UR}\) 序列。若将一对相邻的 \(\texttt{UR}\) 交换成 \(\texttt{RU}\),则变化恰好是:由这两步包裹住的格子从路径的右侧变到了左侧。 设这两步分别为第 \(t,t+1\) 步,则路径权值的变化量为 \((-1)
阅读全文
摘要:不妨假设 \(A\leq B\)。 设第 \(i\) 条边连接点 \(i\) 和 \(i+1\),考虑把点覆盖次数转化为边覆盖次数。设 \(l_i\) 为向左走的覆盖边 \(i\) 的次数,\(r_i\) 为向右走覆盖边 \(i\) 的次数,则 \(S_i=[A=i]+l_i+r_{i-1}\),不
阅读全文
摘要:树上圆理论好。 对于任意两个点 \(u,v\) 满足 \(\operatorname{dist}(u,v)\leq C\),在 \(u,v\) 间连边,那么相当于要查询连通块个数。 直接考虑精妙的一步,对所有点求出 BFS 序 \(b_u\)。观察性质:对于三个不同的点 \(i,j,k\) 满足 \
阅读全文
摘要:设 \(u\) 被淘汰时的票数为 \(r_u\)。淘汰一个人只会使父亲的票数减少,因此淘汰的顺序就是所有点按 \((r_u,u)\) 从大到小排序。 对于叶子节点,\(r_u=a_u\)。考虑如何由儿子节点的 \(r_v\) 推出 \(r_u\)。不妨将儿子节点按 \((r_v,v)\) 从小到大排
阅读全文
摘要:析合树好。 置换节点编号使得 \(a_i=i\),则子树内的 DFS 序连续。\(b_{l\sim r}\) 可以成为一棵子树当且仅当 \(b_l=\min_{i=l}^r b_i\) 且 \(\max_{i=l}^r b_i-\min_{i=l}^r b_i=r-l\)。 容易得到一个区间 DP:
阅读全文
摘要:唐唐题。 固定颜色 \(c\),设其出现次数为 \(cnt_c\)。对于一条边 \(e=(u,v)\),设断开这条边后两个连通块中 \(c\) 的出现次数分别为 \(x_e\) 和 \(cnt_c-x_e\)。对于一个连通块 \(S\),若 \(e\in S\) 则 \(e\) 对距离和没有贡献,否
阅读全文
摘要:你说得对但是压位 Trie 神了。 考虑以 \(B\) 为块长分块。 对于两端在同一个块内的询问,用 Trie 暴力求出答案。时间复杂度为 \(\mathcal{O}(qB\log{V})\)。 对于两端在不同块内的询问,把它挂到询问区间覆盖的最靠左的整块上。对于每个整块,把挂着的询问按右端点从小到
阅读全文
摘要:\(n\) 是质数,所以 \(a_{(xi+y)\bmod{n}}\) 是 \(a\) 的一个置换。这 \(n(n-1)\) 种置换构成一个群,而满足条件的 \(a\) 相当于是所在轨道中字典序最小的序列,因此题目转化为求轨道个数。 设 \(g(x,y)\) 为对应置换的不动点个数,由 Burnsi
阅读全文
摘要:回顾由 Prüfer 序列还原一棵树的过程:令 \(deg_u=cnt_u+1\),从小到大枚举 \(0\leq i<n-2\),每次取编号最小的叶子节点 \(u\),加入边 \((u,a_i)\)。最后剩下的两个叶子节点之间再连一条边。 设 \(pos_r(u)\) 表示 \(u\) 在 \(a[
阅读全文
摘要:有意思题。激战一个小时做出来了。 尝试分析操作次数的上界,不妨转化成剩余白色格子数量 \(c\) 的下界。 显然要有 \(c\equiv nm\pmod{4}\)。 观察到每次操作,每行减少的白色格子数量为 \(0/2\),因此若 \(m\) 为奇数,则 \(c\geq n\)。同理,若 \(n\)
阅读全文
摘要:这题真简单吧。 不妨先固定操作次数 \(k\),设第 \(j\) 次操作选择了 \(p_j\)。那么不难归纳得出,最终 \[a'_i=\left\lfloor\frac{a_i+\sum_{j=1}^{k}[p_j\neq i]2^{j-1}}{2^k}\right\rfloor \]不妨设 \(w
阅读全文
摘要:来个简单好写做法。 设 \(g(v)\) 表示最少可以用多少个长度为 \(d\) 的区间覆盖所有 \(\geq v\) 的位置,那么题目转化为求 \(\sum_{v\geq 1}g(v)\)。 求单个 \(g(v)\) 是简单的,可以直接贪心,每次选最靠左的未被覆盖的点作为新区间的左端点即可。 贪心
阅读全文
摘要:设 \(c_x\) 表示位置 \(x\) 上不可移动的纪念碑数量,\(s_x\) 表示可以移动的纪念碑数量。若 \(c_{+x}>c_{-x}\),则有 \(d_{-x}=c_{+x}-c_{-x}\) 个纪念碑需要被强制移动到 \(-x\) 处;同理,若 \(c_{+x}<c_{-x}\),则有
阅读全文
摘要:挺有趣味的题。 考虑这样的做法:从小到大枚举 \(0\leq i<m\),不断在 \(i\) 处插入一个球直到无法插入。这样我们可以得到 \(i\) 所在的链长 \(l_i\),而这些链构成了树的一个剖分,因此还能得到 \(n=\sum l_i\)。 对于一个点 \(u\),我们称与其同链的儿子为重
阅读全文
摘要:大大大神题来的。 先考虑 \(C=3\) 怎么做。受置换的影响,我们记录信息时需要把学生编号加进去。考虑直接记录 \((R,i,d_i)\) 表示这个信息在第 \(R\) 步时记录,学生 \(i\) 在 \(d_i\) 步举手。在第 \(R\) 步的时候,对于所有没举手的学生,我们直接把对应数组改成
阅读全文
摘要:猜结论题,感觉根本不是给人做的。 设 Ulug'bek 想要每一组的元素和都为 \(V\)。一些想法大概是尝试把 \(a\) 划分成 \(K\) 组,使得每个组内的元素和与 \(V\) 之间的差距比较小。考虑一些变态的想法,我们当然希望 \(V-sum\leq M\),我们加强一下,使得 \(V-s
阅读全文
摘要:我声称我的做法是对的。 欢迎来 hack! 二分 \(L\),我们判断能否用至多 \(K\) 个边长 \(\leq L\) 的正方形覆盖所有点。注意这里钦定每个正方形内都有点。 若仅使用一个正方形,判断是否有 \(\max(mxX-mnX,mxY-mnY)\leq L\) 即可。 对于两个不交的正方
阅读全文
摘要:考察选手是否做过 CF995F。 题目相当于给每个节点赋一个权值 \(a_u\),满足: \(a_u\in[0,X]\)。 \(a_{fa_u}\leq a_u\)。 存在 \(dep_u=k\) 的点 \(u\),使得 \(a_u\leq S\)。 先判掉一些 corner。若树中不存在 \(de
阅读全文
摘要:感觉思路还是很顺畅的。 若 \(p\) 固定且 \(n>k\),不妨令 \(w_i=D-p_i\),那么修改操作带来的增量就是 \(w\) 上的最大权独立集。序列上最大权独立集有简单 DP:令 \(f_i\) 表示 \(w[i..n]\) 的最大权独立集,则转移为 \(f_i=\max(f_{i+1
阅读全文

浙公网安备 33010602011771号