随笔分类 - 具体问题 / 套路题
摘要:思路 场上考虑的其实很有道理来着 考虑左右字符集已经相同的情况是简单的 否则一定要把左右字符集调整到相同 那我们首先不难发现一个至少要使用的区间, 计算方法比较复杂, 但是宗旨是把左右字符集调整到相同且可匹配的必要花费 然后我们应该拓展长的那一端, 直到字符集相同之后可以考虑断开, 以此来获得最优解
阅读全文
摘要:思路 肯定是在值域上处理, 类似今年 S T4 的将与未扫描部分相关的部分单独统计 定义 \(c_x\) 为 \(a_i = x\) 的数量 考虑 \(f_{i, j, k}\) 表示考虑到数字 \(i\), 当前要求容量到 \(j\), 当前容量为 \(k\) 的方案数 \[ \begin{gat
阅读全文
摘要:思路 太猎奇 考虑我们应该会 \(\mathcal{O} (\textrm{障碍物数}^2)\) 的做一次问题 但是这类问题其实还有一种 \(\mathcal{O} (\textrm{面积})\) 的做法 具体的, 令 \(f_{i, j}\) 表示 \((i, j)\) 这个点作为右下角时的最大正
阅读全文
摘要:思路 对于 \(60\%\) 的数据, 解决方案是枚举每个点作为路径的起点, 求最短路, 并构造一个最短路图。在最短路图中, 无论怎么走都对应原图的一条最短路, 因此可以使用动态规划(DP)判断在每个点结束的最短路是否经过全部 \(K\) 个点。具体地, 定义 \(f[i]\) 表示以点 \(i\)
阅读全文
摘要:思路 怎么还有字符串领域 \(\text{gunmu}\) 但是这题和字符串没啥关系 不难发现对于一个串 \(S\), 求 \(B(S)\) 的方法就是简单的贪心顺序/逆序匹配尽量多的模式串 想到拆成若干个串之后算贡献, 然后被击毙了 be ss be ie ss ie 黑人问号? 那咋做呢? 显然
阅读全文
摘要:思路 不难想到一个记录前缀最大值的 \(\text{dp}\), 但是不难发现所有值域相关算法全部倒闭了 离散化之后变成每次可以选一个值域区间, 然后值域 \(\to \,n\) 令 \(f_{i, j}\) 表示处理到第 \(i\) 个位置, 且当前前缀最大值已经到达值域区间 \(j\) 的方案数
阅读全文
摘要:前言 很难不注意到我还有一个线段树合并, 一个神秘的 \(\text{CSP-S T4}\) 排列没有搞, 还有一个 \(\text{T3}\) 不管怎么样一定要注意停滞, 解决 思路 不难发现就是每次取了之后是否放回去的一个期望问题 首先考虑概率期望问题, 本题比较好想的一种做法就是直接利用期望定
阅读全文
摘要:思路 最终答案为: [ ans = \sum_{i} \left( \left( \sum x_i \right)^2 + \left( \sum y_i \right)^2 + \left( \sum z_i \right)^2 \right) ] 其中对于同一个 ( i, x_i, y_i, z
阅读全文
摘要:思路 不难发现等价于划分序列, 对序列内部做异或和, 求本质不同的最终序列的数量 考虑去重, 子序列计数去重用的是钦定尽量往前匹配 本题中, 对于任意一种最终序列, 我们可以限制每个划分块都必须是最小的, 也就是攒够要的赶紧跑路 也就是若要 \(1\), 就找到后面第一个 \(1\) 划分, 若要
阅读全文
摘要:实质上是最多能找到多少个连续子段和为 \(p\) 的倍数 太聪明了
阅读全文
摘要:思路 考虑转化成组合数学 一个数最终会被异或多少次, 等价于在给出的网格图中, 有多少种路径走到这个位置 显然是一个 \(\displaystyle {a \choose b}\) 的组合数形式 又有 \[{a \choose b} \bmod 2 = [a \,\&\, b = b] \]不难发现
阅读全文
摘要:思路 不难想到用数量较少的危险点来限制长方形, 进而处理正方形 现在的问题就是如何精确地刻画任意一个本质相同的长方形, 发现我们完全可以通过枚举四个危险点来刻画一个长方形 但是这样会出现大量的不合法情况\((\)即长方形内部有危险点\()\), 不难发现我们若确定了卡住横纵坐标的危险点, 可以直接找
阅读全文
摘要:思路 发现吃马不好维护, 考虑直接状态压缩马的存活情况, 可以做到 \(\mathcal{O} (n^2 2^m)\) 考虑进一步处理, 发现由于你的棋子不能回头, 吃掉一个马后, 最多走三步就跳出了马的范围, 所以我们可以直接把前两步的路线塞到状态里 思路就是吃马能影响到的位置有限, 只要存储这有
阅读全文
摘要:思路 首先简单分析一下问题 首先我们要为每只兔子选择一个 \(st_i \in [bas_i + L, bas_i + R]\) 表示其起始位置 然后我们要找到最小的 \(t\), 使得 \(\Big({\times d} + [L, R]\Big)^t\) 之后能到达一个 \(\bmod \, n
阅读全文
摘要:前言 策略就是放弃模拟赛, 搞完这两天的授课内容 这样后面勉强还能跟上 \(\text{号家军 OJ S0039 堆}\) 策略 停滞 心态 题解仅供参考 思路 按题意直接做就可以达到 \(\mathcal{O} (qn \log n)\) 首先简化问题 \(q\) 个询问, 每个询问 \(n\)
阅读全文
摘要:前言 心态: 冷静, 耐心, 放下 策略 停滞 数据检验, 关键步记录, 简化表述 思路 首先简化问题, 把无用的被包含的字符串去掉 这一步具体的实现方式是拼到一起之后做 \(\rm{KMP}\) 现在如果只有一个字符串, 那么显然答案就是它的最短循环节 如果有多个字符串, 如何做? 考虑最优解的构
阅读全文
摘要:思路 发现把有向图的可达性当成偏序集来看的话 本题求最大的链, 等价于求最小的反链划分 显然可以 \(\mathcal{O} (n^22^n)\) 的找每个集合是否能构成反链, 也即能否两两不可达 等价于找任意两个没有直接的无向边相连的集合 求划分是一个经典的超集 \(\rm{dp}\), 是 \(
阅读全文
摘要:前言 心态: 冷静, 耐心, 放下 策略: \(50\) 停滞: \(20\) 数据检验, 关键步记录, 简化表述 思路 首先, 如果知道这是一个顺序 \(\rm{dp}\) 那就随便想了 但是场上的我选择了神秘的区间 \(\rm{dp}\) 所以需要在这里区分一下区间 \(\rm{dp}\) 和顺
阅读全文
摘要:思路 首先考虑确定情况下的处理, 发现基本没办法应用到不确定情况下 考虑另外一种做法, 对于一条路径, 其在哪些情况下产生贡献? 这个问题等价于: 设 \(S\) 为任意一条从 \((0, 0)\) 到 \((n+1, n+1)\) 的路径经过的点集, \(P\) 为 任意一种 合法障碍点集, \(
阅读全文
摘要:思路 考虑 \(G = 1\) 因为进入顺序是不确定的, 怎么计算期望呢? 首先先列出期望相关的柿子 \[ \begin{gather*} E = \sum_{i = 1}^{n} \sum_{j = i + 1}^{n} \begin{cases} 1/2 & (\overrightarrow{i
阅读全文

浙公网安备 33010602011771号