随笔分类 - 题目总结
摘要:CF2068H. Statues 构造题. 思路 我们设 \(d_0 = a + b\) 是第 1 座雕像到第 \(n\) 座雕像的距离. 那么首先可以注意到两个必要条件: \(\displaystyle \sum_{i = 0}^{n - 1} d_i\) 为偶数. 对于 \(\forall i
阅读全文
摘要:F. Mascot Naming 构造题, 挂个链接. 题面 当组织一场大型活动时,组织者常常要处理一些超出他们专业领域的附带任务。例如,2025年欧洲大学锦标赛(EUC 2025)的首席裁判必须为该活动的官方吉祥物取一个名字,同时要满足某些限制条件: 这个名字必须包含特定的单词作为子序列*,比如活
阅读全文
摘要:[USACO25JAN] DFS Order P 原题链接. 小清新区间 DP. 思路 首先考虑一下如果原图没有边的情况. 那么显然, 图的最终形态会是一棵树. \((\)因为多加边就会增加贡献, 一定不优\()\) 同时对于一个子树, 其子树内的 DFS 序一定是一段连续区间. 所以每个子树的决策
阅读全文
摘要:Gold Transfer 模拟赛待补题. 算法 倍增, 贪心. 思路 仔细阅读题面, 发现「我们保证 \(c_i > c_{p_i}\) 成立」. 这意味着儿子节点的单价一定比父节点的高, 那么就有一个非常显然的贪心策略: 取越靠近根节点的越优. 我们每次寻找路径上最靠近根节点的非空节点是哪个,
阅读全文
摘要:E. A, B, AB and BA 算法 字符串, 构造, 贪心. 思路 Resource. 首先可以发现我们可以从每一个 \(s_i = s_{i + 1}\) 分开以将字符串分成若干部分来分别处理. 具体来说: 对于 ABBABBABA, 我们可以将其分为 AB, BAB, BABA 这三段来
阅读全文
摘要:D. Palindrome Shuffle 题意 给定长度为 \(n\) ( \(n\) 为偶数) 字符串 \(s\), 你可以选择 \(s\) 的一个子串 \(t\) 并且随意交换 \(t\) 中每个字符顺序使得 \(s\) 成为回文串. 求 \(t\) 的最小长度. 算法 双指针, 字符串. 思
阅读全文
摘要:White Magic 题面 思路 动手模拟可以发现, 如果原序列中不含 0, 那么最长的子序列即为本身 (因为 \(\rm{mex}\) 恒为 0, 而 \(a_i\) 均为正整数). 现在来考虑包含 0 的情况. 我们记 \(cnt_0\) 表示序列中 \(a_i = 0\) 的数量, 那么答案
阅读全文
摘要:Little Brackets 题意 给定序列长度 \(2n\), 求「深度」为 \(k\) 的合法括号序列有多少个. 其中「深度」定义为序列前缀中左括号数量与右括号数量之差的最大值. 算法 动态规划. 思路 我们考虑求一个前缀. 令 \(f_{i, j}\) 表示长度为 \(2i\) 的合法括号序
阅读全文
摘要:每日一练做到的, 做不来. Decoding Martian Messages 算法 动态规划, 字符串. 思路 首先可以看出这是一道动态规划的题目. 这道题要求输出最终的字符串而非答案, 我们可以考虑先计算出答案数组再反推出最终的字符串. 先来考虑动态规划. 我们令 \(f_{i, j}\) 表示
阅读全文
摘要:原题链接 闲话 本来是模拟赛题目, 但是过于古老, 于是就单独拿出来写了. 算法 博弈论, 套路题? 思路 考虑从答案入手, \(\displaystyle \textrm{val}(S_1) - \textrm{val}(S_2) = \sum_{i < j \in S_1} \textrm{di
阅读全文
摘要:[NOI2007] 货币兑换 算法 动态规划, 斜率优化, 李超线段树. 思路 注意到题末有两行小字: 必然存在一种最优的买卖方案满足: 每次买进操作使用完所有的人民币, 每次卖出操作卖出所有的金券. 考虑动态规划, 令 \(f_i\) 表示到第 \(i\) 天时最多拥有 \(f_i\) 元钱, 钦
阅读全文
摘要:算法 子集反演, 容斥原理, DP. \(\tt{Solution}\) 考虑暴力状压, 令 \(f_{i, \mathbb{S}}\) 表示枚举到第 \(i\) 个箱子时, 至少放了一次玩具构成的集合为 \(\mathbb{S}\) 的方案数. 转移时枚举第 \(i\) 个箱子取不取即可. 想法很
阅读全文
摘要:题目大意 给定 \(1 \le n \le 2 \times 10^5\) 以及一个序列 \(a\). 现在有 \(1 \le q \le 2 \times 10^5\) 次修改, 每次将 \(a_p \gets x\), 你需要最大化下面的式子: \[f(l, r) = \max^r_{i = l
阅读全文
摘要:原题链接 效率异常低下. \(\tt{Solution}\) 先考虑一下 easy version. 观察到 \(nq \le 10^5\), 所以对于每一次询问, 我们可以按位来进行贪心. 从 \(2^{59}\) 一直遍历到 \(2^0\), 考虑当前位 \(2^i\) 是否能够出现. 我们可以
阅读全文
摘要:前言 一道分块打表练习题. 受这篇日报的启发, 有了这篇题解. 因为交上去的程序运行时间有严格限制, 但是本机运行则时间可以很长. 所以提前用本机算出所有可能的数据的答案, 拷贝到代码里, 交上去的程序只用查表就能得到答案. ——浅谈打表与其技巧 思路 对于这道题, 判断每一个数是否合法的复杂度并不
阅读全文
摘要:随机跳题跳到的. 题目大意 有一个 \((2n + 1) \times (2n + 1)\) 的棋盘, 有一个白棋在 \((0, n)\). 当白棋在 \((i, j)\) 时你可以进行以下操作: 如果 \((i + 1, j)\) 没有黑棋, 你可以走到那. 如果 \((i + 1, j - 1)
阅读全文
摘要:算法 计算几何, 容斥原理. 思路 首先考虑一个很简单的暴力, 我们枚举每个三角形的三个顶点, 然后枚举每一个点并且判断其是否在三角形内, 时间复杂度 \(\mathcal{O}(n^4)\). 然后就没有思路了, 看了下题解, 发现可以使用容斥进行优化. 如上图, 将每个点投影到 x 轴上, 那么
阅读全文
摘要:算法 容斥. 思路 借用这里的 Trick 2, 我们将所有偶数位的 \(B \rightarrow A\) , \(A \rightarrow B\). 那么原问题的限制就转化为: 不能删相邻的 \(AA\) 或 \(BB\) , 求最终可以删空的方案数. 考虑这个限制的充要条件是什么. 对于每一
阅读全文
摘要:原题链接 题面 给定序列 \(a\), \(b\), 每次操作可以任选 \(1 \le l \le r \le n\), 令 \(x = \min_{i = l}^r b_i\), 使得 \(a_i = \frac{a_i}{x},\ l \le i \le r\). 算法 笛卡尔树, 树上 dp.
阅读全文
摘要:原题链接 前言 不是 \(\Theta (1024 \times n)\) 真能水过去? So what's the point of allowing \(\Theta (1024 \times n)\) solutions to E???? 算法 动态规划, 期望. 思路 读题, 发现 \(1
阅读全文