随笔分类 - 蓝桥杯
摘要:P8792 [蓝桥杯 2022 国 A] 最大公约数 一、问题简析 st表 + 二分 思路 要使数列都变成 \(1\),首先数列中要有 \(1\)。因为题目要求是用两个数的 \(gcd\) 代替其中一个数,所以我们要找到一个区间 \([L, R]\),该区间的 \(gcd\) 等于 \(1\)。 证
阅读全文
摘要:P8736 [蓝桥杯 2020 国 B] 游园安排 一、问题简析 本题考点是 最长上升子序列。 二分查找 根据模板,我们需要实现一个二分查找,找到 dp 中首个大于等于 A[i] 的元素。比较的规则是字典序。 // 按字典序比较A[a]和A[b],return A[a] < A[b] bool cm
阅读全文
摘要:本文参考博客 [蓝桥杯 2021 国 AB] 翻转括号序列(线段树上二分) 一、问题简析 线段树 + 二分 初步分析 令 ( 的值为 1,) 的值为 -1,则对于序列 \(a_La_{L+1}a_{L+2}...a_R\),其为合法序列的条件为 \[\begin{cases} \sum_{n=L}^
阅读全文
摘要:P8764 [蓝桥杯 2021 国 BC] 二进制问题 一、问题简析 本题采用数位dp求解。 令 \(f[i][j]=\) 在 \(i\) 位二进制中,有 \(j\) 个 \(1\),共有几个数。(相当于求组合数) 由于数据范围为 \(1\le N\le 10^{18}\),最大二进制位数设置为 7
阅读全文
摘要:P8806 [蓝桥杯 2022 国 B] 搬砖 一、问题简析 本题采用 贪心 + 01背包。 令 \(a_i=\) 第 \(i\) 块砖; \(a_i.w=\) \(a_i\) 的质量; \(a_i.v=\) \(a_i\) 的价值。本题与 01背包 模板不同的地方是,本次选择的砖块会对后续的选择产
阅读全文
摘要:P8805 [蓝桥杯 2022 国 B] 机房 一、问题简析 本题核心思想是求最近公共祖先,这里采用 \(Tarjan\) 算法求解。 以节点 \(1\) 作为树的根节点。令 \(dp_i=\) 节点 \(i\) 到根节点 \(1\) 的点权和; \(w_i\) 为节点 \(i\) 的权值,即该节点
阅读全文
摘要:P8803 [蓝桥杯 2022 国 B] 费用报销 一、问题简析 本题是一道 01背包。重点是 \(K\) 的限制,使我们在取 \(a_i\) 时,不能无所顾忌地套用模板 \(dp_{i-1,j-a_i.worth}+a_i.worth\) 。我们必须找到上一张合法的 \(a_j\),即 \(a_j
阅读全文
摘要:一、题目描述 将 \(2022\) 拆分成 \(10\) 个互不相同的正整数之和,有多少种方案? 二、问题简析 令 \(dp[i][j]=\) \(i\) 的 \(j\) 划分的方案数(满足互不相同的正整数)。有两种实现方式: \(dp[i][j]\) 不含 \(1\) 在 \(dp[i-j][j]
阅读全文
摘要:P9426 [蓝桥杯 2023 国 B] 抓娃娃 一、问题简析 由题意,\(max\{r_i-l_i\}<=min\{R_i-L_i\}\),只要 \([l_i,r_i]\) 的中点在 \([L_i,R_i]\),则线段的一半肯定在区间中,即线段在区间中。我们可以先拿数组 A 存储各点处线段中点的个
阅读全文
摘要:P9425 [蓝桥杯 2023 国 B] AB 路线 一、问题简析 本题是一道 \(BFS\) 题。与普通的广搜题不同的是,本题中,格子可以多次访问。因此,vis 数组不能只用二维,要进行升维。 本题中,每个节点包含以下信息: struct node { pair<int, int> loc; //
阅读全文
摘要:一、问题描述 P8709 [蓝桥杯 2020 省 A1] 超级胶水 二、问题简析 看完题目,肯定会想到贪心,但是这题不需要贪心也能解决。 假设有 \(4\) 颗石子:\(a,~b,~c,~d\)。我们随意组合,得到结果: \[\begin{split} ans&=bc+a(b+c)+(a+b+c)d
阅读全文
摘要:一、题目描述 P8715 [蓝桥杯 2020 省 AB2] 子串分值 二、问题简析 记录字符串 \(s\) 的 第 \(i\) 个字符 \(s_i\)(\(0\leq i<s.size\))上一次出现的位置 \(pre_i\)、下一次出现的位置 \(nex_i\),仅包含 \(s_i\) 的字串个数
阅读全文
摘要:一、问题描述 P8611 [蓝桥杯 2014 省 AB] 蚂蚁感冒 二、问题简析 这道题的关键是如何处理蚂蚁掉头的问题。我们可以把蚂蚁掉头看作直接穿了过去。 为什么可以这样做?如果两只蚂蚁中有一只感染,则碰头后两只都感染了,不需要区分哪一只。如果两只蚂蚁都没感染,则碰头后仍未感染,也不需要区分哪一只
阅读全文
摘要:一、题目描述 P8687 [蓝桥杯 2019 省 A] 糖果 二、问题简析 由题意,糖果的种类 \(M\) 最多为 \(20\),所以我们可以采用二进制位的方式来表示每包糖果的组成。具体:二进制的第 \(i\) 位表示第 \(i + 1\) 种糖果,\(1\) 表示有,\(0\) 表示无。通过这种表
阅读全文
摘要:@目录一、题目描述二、算法简析三、本题代码 一、题目描述 P9242 [蓝桥杯 2023 省 B] 接龙数列 二、算法简析 核心思想:动态规划 题目要我们求删除数的最小个数。可以转变问题,求能形成的接龙数列的最大长度 \(MaxLength\),\(n - MaxLength\) 即为所求。 由题意
阅读全文
摘要:一、问题描述 P8744 [蓝桥杯 2021 省 A] 左孩子右兄弟 二、问题简析 2.1 左孩子右兄弟 首先,我们要了解怎么通过“左孩子右兄弟”表示法将多叉树转化为二叉树:对于一棵多叉树,一个父节点有多个子节点,将第一个子节点作为父节点的左孩子,并与父节点相连;将剩余的子节点作为左孩子的右兄弟,并
阅读全文
摘要:一、题目描述 P8614 [蓝桥杯 2014 省 A] 波动数列 二、问题简析 设第一个数为 \(x_0\),\(d_i=a~or~-b\),则长度为 \(n\) 的数列的和为: \[\begin{split} s&=x_0+x_1+x_2+...+x_{n-1}\\ &=(x_0 + 0) + (
阅读全文
摘要:一、题目描述 [蓝桥杯 2019 省 A] 填空问题E RSA 解密 二、问题简析 本问题可以分成三部分求解: 1、求 \(p\) 和 \(q\):利用唯一分解定理,参考 P1075 [NOIP2012 普及组] 质因数分解 2、求 \(e\):利用拓展欧几里得定理,参考 P1082 [NOIP20
阅读全文
摘要:一、题目描述 P8754 [蓝桥杯 2021 省 AB2] 完全平方数 二、问题简析 2.1 唯一分解定理 唯一分解定理:大于1的自然数都可以唯一地写成素数的积。 由该定理,一个大于 \(1\) 的自然数 \(b\) 可以表示为 \(b=a_1^{p_1}*a_2^{p_2}*...*a_n^{p_
阅读全文
摘要:一、题目描述 P8667 [蓝桥杯 2018 省 B] 递增三元组 二、问题简析 题目要求: \[\begin{split} &1 \leq i,j,k \leq N \\ &A_i < B_j < C_k \end{split} \]改变一下,得到 \[\begin{cases} A_i < B_
阅读全文