题解computational geometry p9702

【DP】P9408 『STA - R2』Locked 题解

P9408 容易想到枚举最大值,令 \(f_{i, j}\) 表示前 \(i\) 个数变为不降序列且第 \(i\) 个数为 \(j\) 的最小操作次数。 先考虑暴力转移:\(f_{i,j} = f_{i - 1, k} + \text{chg}(a_i, j)\),其中 \(\text{chg}(i ......
题解 Locked P9408 9408 STA

【DP】CF1829G Hits Different 题解

CF1829G 先将整个塔变为一个直角三角形的模样。这时就可以很好的用数组表示了,这时发现答案就是一个倒着的等腰直角三角形的和(不考虑边界)。 考虑预处理。 令 \(a_i\) 为点 \(i\) 所在的行数,\(f_i\) 表示 \(i\) 号点的答案,\(g_i\) 表示 \(i\) 和 它正上方 ......
题解 Different 1829G 1829 Hits

【莫队】【bitset】【数据分治】P5313 [Ynoi2011] WBLT 题解

P5313 看到值域比较,又支持离线,可以想到莫队和桶。 考虑先将桶按 \(b\) 分段,将每段分别进行按位与运算,做完第 \(i\) 段时用于运算的桶全都为 \(0\),就可以直接得到答案。这显然可以用 bitset 优化。但是 STL 的 bitset 不支持分裂操作,所以需要手写。 当 \(b ......
题解 数据 bitset P5313 5313

【DP】P8816 [CSP-J 2022] 上升点列 题解

P8816 提供一种不一样的做法。 首先将每个点以横坐标为第一关键字,纵坐标为第二关键字排序。 一维的 dp 肯定不够,因为 dp 既要存最多点数,又要保存自由点的点数。 赛时没看 \(k\) 的范围,于是开了一个结构体。 \(dp_i.w\) 表示从当前起点开始且于 \(i\) 点结束的最多的点数 ......
题解 P8816 CSP-J 8816 2022

【位运算】UVA12716 GCD等于XOR GCD XOR 题解

UVA12716 一道挺有意思的位运算的题。 \(\gcd(a,b)\) 与 \(a\oplus b\) 本来是没有什么联系的,也不好直接转化。 那么就需要一个中间数进行转化,一般来说会是一个临界值,否则不好找答案。 先观察 \(\gcd(a,b),a\leqslant b\),可得 \(\gcd( ......
题解 GCD XOR 12716 UVA

【反悔贪心】P8769 [蓝桥杯 2021 国 C] 巧克力 题解

P8769 一道有意思的贪心题。 有一个很容易想到但是有误的贪心:从第 \(1\) 天开始,每次选择单价最低的购买,直到第 \(x\) 天。 但如果有一些单价较低且保质期极短的商品,和一些单价最低但保质期较长的商品,这个贪心就不会选择到单价较低的商品。 如果我们使时间逆流,就不会出现这样的问题,即从 ......
蓝桥 题解 巧克力 P8769 8769

【分治】CF429D Tricky Function 题解

CF429D 令 \(sum_i\) 表示 \(\sum \limits_{j=1}^{i} {a_j}\)。 则 \(g(i, j) = (sum_j - sum_i)\)。 \(f(i, j) = (i - j)^2 + g(i, j)^2 = (i - j) ^ 2 + (sum_i - su ......
题解 Function Tricky 429D 429

【位运算】ABC281F Xor Minimization 题解

ABC281F 先将每一个 \(a_i\) 二进制拆分。 因为每一位的 \(\text{xor}\) 运算是互不影响的,于是可以考虑每一位。 从高位到低位考虑,因为 \(a_i < 2^{30}\),所以二进制状态下的 \(a_i\) 的长度是 \(\le 29\) 的。 假设在考虑 \(bit\) ......
题解 Minimization 281F ABC 281

【二分图】CF1139E Maximize Mex 题解

CF1139E 翻译中有一句话:校长将会从每个社团中各选出一个人。 就是一些人被分为一组,从每组中选一些人出来。 这就很容易想到通过二分图的匹配。 \(\operatorname{mex}\) 运算有一个显而易见的贪心:枚举每个值能否被匹配,第一个找不到的值就是答案。 由于 \(\operatorn ......
题解 Maximize 1139E 1139 Mex

[题解] CF1245D - Shichikuji and Power Grid

CF1245D - Shichikuji and Power Grid 题目传送门 题意 在一个网格图中,有 \(n\) 个城市。目标是使得 \(n\) 个城市都通电。 对于一个城市有电,要么选择在其位置建立发电站,要么和另一个有电的城市连线。 对于城市 \(i\) ,在其位置建立发电站的费用为 \ ......
题解 Shichikuji 1245D Power 1245

【题解】洛谷#P7073 [CSP-J2020] 表达式

【题解】洛谷#P7073 [CSP-J2020] 表达式 Description 给定一个逻辑表达式和其中每一个操作数的初始取值后,再取反某一个操作数的值时,求出原表达式的值。表达式将采用后缀表达式的方式输入。 Solution 根据题目可得,当取反一个操作数的值时,整个表达式大体只有变与不变两种情 ......
题解 表达式 CSP-J 7073 2020

CF1010C Border 题解

题目传送门 前置知识 最大公约数 | 裴蜀定理 简化题意 给定一个长度为 \(n\) 的序列 \(a\),求能用 \(r=(\sum\limits_{i=1}^{n}d_ia_i) \bmod k\) 表示的不同的 \(r\) 的个数及所有情况,其中对于每一个 \(i(1 \le i \le n)\ ......
题解 Border 1010C 1010 CF

CF131D Subway 题解

题目传送门 前置知识 强连通分量 | 最短路 解法 考虑用 Tarjan 进行缩点,然后跑最短路。 缩点:本题的缩点有些特殊,基于有向图缩点修改而得,因为是无向图,所以在 Tarjan 过程中要额外记录一下从何处转移过来,防止在同一处一直循环。 基环树上找环还有其他方法,这里仅讲解使用 Tarjan ......
题解 Subway 131D 131 CF

题解: P6933

题目传送门 这道题我用的是二分答案,只不过这道题和一般的二分答案有些不同,是浮点数的二分答案。那自然和整数的二分答案有些不同,下面我会说到。我们先来看一下思路解法。 思路解法 首先确定了是二分答案,我们需要先确定初始的 \(l\) 和 \(r\) 和 check 函数。 check 函数好写,我们可 ......
题解 P6933 6933

【题解 P4550】 收集邮票

收集邮票 题目描述 有 \(n\) 种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是 \(n\) 种邮票中的哪一种是等概率的,概率均为 \(1/n\)。但是由于凡凡也很喜欢邮票,所以皮皮购买第 \(k\) 次邮票需要支付 \(k\) 元 ......
题解 邮票 P4550 4550

【题解】1st ucup Stage 20: India G - Perfect Strings

考虑卡特兰数 \(C_n = \sum_{i=0}^{n-1}C_iC_{n-1-i}\),故有递推式 \[C = xC^2 +1 \]解出卡特兰数递推式: \[C = \frac{1 - \sqrt{1 - 4x}}{2x} \]考虑本题的递推式: \[F_n = \sum_{i=0}^{n-1} ......
题解 Perfect Strings Stage India

关于洛谷题解审核

我想问一下,大家觉得题解的重点是什么?很显然是思路,代码的正确性,次要的才是格式。 但是,洛谷对于题解格式的审核是不是有点过于严格了呢? 比如说这段话: 如果 \(n\) 为 \(0\), 那么便是无解。 大家能一眼看出 , 后面多了空格吗? 这种题解其实没什么大问题,别人看题解时根本不会在意这些细 ......
题解

【bitset】【线段树】CF633G Yash And Trees 题解

CF633G 简单题。 先看到子树加和子树质数个数和,果断转换为 dfs 序进行处理。 既然有区间求和,考虑线段树。 若对于每一个节点维护一个 \(cnt\) 数组,用二进制数 \(x\) 来表示,即当 \(cnt_i = 1\) 时第 \(i\) 位为 \(1\)。设当前节点为 \(u\),左右子 ......
线段 题解 bitset Trees 633G

[ABC257F] Teleporter Setting 题解

1.题目 洛谷传送门 2.思路 我们可以把不确定的点当成真实存在的 \(0\) 号点,建边的时候就正常连即可。 然后我们来看一个样例: 1 - 2 - 0 3 - 4 - 5 当我们把 \(0\) 号点看成 \(3\) 号点时,答案就是 \(1\) 号点到 \(0\) 号点的距离加上 \(3\) 号 ......
题解 Teleporter Setting 257F ABC

【思维】【DP】ABC298Ex Sum of Min of Length 题解

ABC298Ex 简单题。 因为有 \(\min\) 不好做,容易想到讨论 \(d(i, L)\) 和 \(d(i, R)\) 的大小。 令 \(p = \text{LCA}(L, R)\),\(dep_L > dep_R, dist = dep_L + dep_R - 2\times dep_p\ ......
题解 思维 Length of ABC

【DP】ABC273F Hammer 2 题解

ABC273F 一道比较板的区间 \(\text{dp}\)。 先对坐标离散化,令离散化数组为 \(v\)。 令 \(f_{i,j}\) 表示能走到区间 \([v_i,v_j]\) 的最短路程,显然 \(f\) 数组初始为 \(inf\)。 但发现这样无法转移,可以再增加一维 \(k \in \{0 ......
题解 Hammer 273F ABC 273

【倍增】P3422 [POI2005]LOT-A Journey to Mars 题解

P3422 一道有点意思的题。 看到是一个环,先破环为链,即 \(a_{n+i}=a_i, b_{n+i}=b_i\),此时就只需要跳到 \(x+n\) 而无需判环了。 如果顺时针走: 令 \(sum_i = \sum\limits_{j=1}^{i}{a_j-b_j}\),当能从 \(x\) 跳到 ......
题解 Journey P3422 LOT-A 3422

【线段树合并】CF1805E There Should Be a Lot of Maximums 题解

CF1805E 待补:有另解 看到维护树上问题,可以想到线段树合并。 但直接维护显然不行,要一点技巧。 发现 \(val\) 的出现次数 \(cnt_{val}\) 如果 \(\ge 3\),那么一定是一个候选项,若 \(cnt_{val} = 1\),那么一定不能作为候选项。 于是可以用权值线段树 ......
线段 题解 Maximums Should 1805E

【二分】P7795 [COCI2014-2015#7] PROSJEK 题解

P7795 典。 显然 \(\mathcal{O}(n ^ 2)\) 的时间复杂度无法通过。 使子段平均值最大,考虑二分。 可以二分平均值 \(mid\),然后判断是否有满足条件的子段. 时间复杂度:\(\mathcal{O}(\dfrac{n\log\max\{a_i\}}{\text{eps}} ......
题解 PROSJEK P7795 7795 2014

【图论】【寻找性质】CF1151E Number of Components 题解

CF1151E 发现每一个 \(f(l, r)\) 中的连通块总是一条链(一棵树)。 那么此时连通块的数量就等于点的数量减去边的数量。 先考虑点的总数,一个价值为 \(a_i\) 的点一定是在 \(l \leqslant a_i\) 且 \(r\geqslant a_i\) 的 \(f(l, r)\ ......
题解 Components 性质 Number 1151E

P8565 Sultan Rage 题解

P8565 发现数列 \(a\) 增长的特别快,项数最多时是 \(a_1 = a_2 = \cdots = a_{100}\),但这样也只会有一百多项就可以超过 \(10^{18}\)。 可以考虑搜索,因为搜索树会比较稀疏,函数 dfs(val, cur) 表示凑出 \(x\) 还需要 \(val\ ......
题解 Sultan P8565 8565 Rage

P4133 [BJOI2012]最多的方案 题解

P4133 双倍经验 发现斐波那契数列增长极快,不到 \(100\) 项就超过了 \(10^{18}\),搜索树也极为稀疏,可以考虑搜索。 爆搜肯定会超时,考虑优化: 可行性剪枝。 记忆化,去除重复的计算。 改变搜索的顺序,因为先考虑小元素的话,会有较多的无用的搜索,且小元素较灵活,更容易凑到 \( ......
题解 方案 P4133 4133 2012

【字符串】【哈希】ABC284F ABCBAC 题解

ABC284F 这题的正解是 \(Z\) 函数。 如果 \(str = T + T\) 的话,若可以找到连续的分别长为 \(n\) 的两段,且这两段可通过 \(1\) 次翻转变为相同的字符串,那么便一定有解,否则无解。 暴力判断是 \(\mathcal{O}(n)\) 的,时间复杂度直接上天。 可以 ......
题解 字符串 字符 ABCBAC 284F

【整除分块】【DP】ABC239Ex Dice Product 2 题解

ABC239H 简单题。 令 \(f_i\) 表示乘到 \(\ge i\) 的期望。 容易得到 \(f_i=\dfrac{\sum\limits_{j=1}^{n}f_{\lceil\frac{i}{j}\rceil}}{n}\)。 将 \(f_i\) 移到同一边,去掉系数,有 \(f_i=\dfr ......
题解 Product Dice ABC 239

【组合计数】ARC058D Iroha and a Grid 题解

ARC058D 简单组合计数。 可以先把矩形旋转一下,变为求从 \((1,1)\) 走到 \((n,m)\),只能向上或向右移动。且不经过左上角的 \(A\times B\) 的禁区的方案数,对 \(10^9 + 7\) 取模。 假如没有 \(A\times B\) 的禁区的话,那么方案数为 \(C ......
题解 Iroha 058D Grid ARC