随笔分类 - OJ——洛谷
摘要:Description 洛谷传送门 Solution 一道卢卡斯定理的变形。 先来看卢卡斯定理: $$ C_nm mod\ P = C_{n\ mod\ P}{m\ mod\ P} * C_{n / P}^{m / P} mod\ P$$ 在来看这道题目,题目要求我们最后的积为奇数,我们可以对于 \
阅读全文
摘要:Description 洛谷传送门 Solution 一道裴蜀定理应用的题目。 裴蜀定理: 一定存在一组整数解使得 \(ax + by = gcd(a, b)\) 成立。 这里不再证明了,感兴趣的同学可以自行百度。 再来看这道题,假设只有两个瓶子,里面有燃料,可以来回倒。 那么不就是 \(ax +
阅读全文
摘要:Description 洛谷传送门 Solution 似乎各种做法都可以过,我写的 \(IDA^*\)。 很明显,乐观估价函数即为当前棋盘与目标棋盘上不同的数字个数。 所以直接枚举深搜层数,然后搜索即可。 \(IDA^*\) 的主要难度就在乐观估价函数上,这个弄明白之后,就很简单了。 然后这个写法上
阅读全文
摘要:Description P3067 [USACO12OPEN]Balanced Cow Subsets G Solution 又是一道折半搜索题。 我们还是枚举一半的数,记录每一种情况的和。 然后爆搜另一半,当和为 \(S\) 时,判断前一半是否可以凑出 \(S\),如果可以,打个标记即可。 两次凑
阅读全文
摘要:Description P1731 [NOI1999] 生日蛋糕 Solution 明显的就是搜索(但是我一点都不会写,我好蒻啊)。 首先一定是从下往上搜,如果从上往下的话就没有上界了,容易一搜到底。 然后再考虑这么几个优化: 当前体积 \(> \ n\),返回。 当前层数 \(> \ m\),返回
阅读全文
摘要:Description P4799 [CEOI2015 Day2]世界冰球锦标赛 Solution 折半搜索好题。 发现到 \(n \leq 2 ^ {20}\) 时,可以直接爆搜出答案,而数据范围是 \(n \leq 2 ^ {40}\),所以我们考虑折半搜索。 具体来说,把前 20 场和后 20
阅读全文
摘要:Description 洛谷传送门 Solution 手摸一下前几个数,1,2,4,8,16…… 嗯,好!稳了!\(2^{n - 1}\),交一发,全 \(WA\)! 在推一下 \(n = 6\),等于 \(31\)!!! 于是我重新思考一下。 假设 \(n\) 条线不相交,那么每增加一条线会多一个
阅读全文
摘要:Descrption 洛谷传送门 Solution 一道非常好的贪心题。 我们只考虑国王以及两个大臣,编号依次为 1,2,3 左手分别写着 \(a_1\),\(a_2\),\(a_3\),右手上分别写着 \(b_1\),\(b_2\),\(b_3\)。 对于 2 在前还是 3 在前分别考虑: 1 -
阅读全文
摘要:Description 洛谷传送门 Solution 是P4369 [Code+#4]组合数问题这道题的加强版……好吧,两道题并没有什么关系。 考虑到 \(C_n^m > C_{n - 1}^m\),所以我们先把 \(C_n^1\) 放到一个大根堆中,然后每次取出最大的 \(C_x^y\),把 \(
阅读全文
摘要:Description 洛谷传送门 Solution 好吧,不要被吓到了,只是一道黄牌题。 题目要求输出任意一组解,所以瞎写就完事了。 考虑构造 \(k - 1\) 个 1,和 1 个 \(n - k + 1\)。 那么答案就是 \(ans = \sum\limits_{i=1}^{k - 1} C
阅读全文
摘要:Description 洛谷传送门 Solution 线段树合并 显然,两棵树的交换与他们的子树无关,所以从下往上处理即可。 我们考虑对于每个子节点建一只权值线段树。然后不断向上合并。 注意:每个点都是一只完整的权值线段树,也就是说左子树权值小于右子树权值。 所以逆序对个数就很明显了。 不交换: \
阅读全文
摘要:Description 洛谷传送门 Solution 一道差分约束好题。 题目要求我们输出最大的 \(T\) 使得至少有一个人女装。 那么容易想到二分答案。 所以这道题就很明显了,二分答案套差分约束,判断是否符合条件。 再来看如何建图。 对于 \(C_A > C_B * k\),我们从 \(B\)
阅读全文
摘要:前置芝士 重链剖分(最好是熟练掌握) 莫队(大概了解即可,有一点相似的思想) dfs序(可有可无,主要是为了加速,其实我就没写过 \(QwQ\)) 主要思想 \(dsu\ on\ tree\) 又名树上启发式合并 (其实是非常暴力的一个东西。) 用途 可处理树上的一些统计类型的问题。 如: 求子树中
阅读全文
摘要:Description 洛谷传送门 Solution 区间dp 状态定义 根据套路,我们定义 \(dp[i][j]\) 表示取走区间 \([i, j]\) 的最小花费。 但是只有区间范围似乎并不好转移,因为我们也不知道区间最大值以及最小值是多少。 所以我们再定义一个 \(f[i][j][x][y]\
阅读全文
摘要:Description 原题链接 Solution 很巧妙的一种思想:分类讨论 分为 6 种情况,如下图: 可以发现,每一张图都被分为了 3 块,我们就可以分别在这三个部分中各选择一个 \(k * k\) 的矩形,取最大值。 具体实现: 首先要进行预处理,设一个点为 \((x, y)\) 我们要预处
阅读全文
摘要:Description 洛谷传送门 有一些小于$10^6$的质数,你需要把它们倒过来并补成一个 7 位数,例如质数 700001,将转变成 1000070,900001,将转变为 1000090,你要将转变后的数存成一个序列。输入有两种操作: 查询:输入q i,你需要输出这个序列中前 \(i\) 小
阅读全文
摘要:Description CF898F Restoring the Expression Solution 很明显的一道哈希题,那么我们考虑哈希能否支持加法。 我们通过列举大量式子发现,普通的哈希是不行的,但是我们换一个乘数,也就是令 \(Base = 10\),那么是不是就可以支持加法了呢。 但是这
阅读全文
摘要:Description P3952 [NOIP2017 提高组] 时间复杂度 Solution 膜你模拟 这题很久之前刚开始学 \(OI\) 的时候做过一次,当时着实被虐了好几个小时才做出来,还是看了题解的。 于是怀恨在心,总之现在来复盘一下,感觉还可以,多想想,细节也不算太多。 emm没什么好说的
阅读全文
摘要:Description P2042 [NOI2005] 维护数列 Solution 一道细节巨多的毒瘤题。 我用的 \(fhq-treap\) 通过的此题。 下面我们以此分析一下。 先说一下 \(fhq-treap\) 中需要存什么东西。 struct Treap{ int ch[2], siz,
阅读全文
摘要:Description P1879 [USACO06NOV]Corn Fields G Solution 状压$dp$ 基础题。 定义状态: \(f[i][j]\) 表示到第 \(i\) 行,且第 \(i\) 行种植状态为 \(j\) 的总方案数。 我们先把每一行的状态记录下来。 枚举每一行,由于当
阅读全文

浙公网安备 33010602011771号