随笔分类 -  OI

摘要:我们可以将比赛过程分为 \(n\times m\) 轮,每轮有一架无人机从上一个门飞至下一个门,其余的传送。 考虑每轮是哪个没有传送。发现是飞向下一个门时间最少且编号最小的。设 \(w_{i,j}\) 表示 \(i\) 从 \(j-1\) 号门飞向 \(j\) 号门所需的时间,发现实际上这个顺序是对 阅读全文
posted @ 2025-10-13 16:06 Luckies 阅读(9) 评论(0) 推荐(0)
摘要:首先,无论我们怎么选,主任一定会选不满意度最大、变白度尽量小的任务。也就是无论我们怎么选,主任都会有一个固定的选任务的顺序。显然这个顺序就是按照不满意度递减,其次变白度递增排序后的顺序。我们记它为 \(id\)。显然,\(id\) 最小的 \(p-k\) 个主任一定不会选。 现在只需要考虑前 \(n 阅读全文
posted @ 2025-10-13 16:06 Luckies 阅读(2) 评论(0) 推荐(0)
摘要:首先观察数据范围,一眼 \(\mathcal O(n^3)\),然后再观察题目,你感觉它是个区间 dp,那么恭喜你,你的感觉是对的。 然后你直接一个区间 dp 板子拍上去,设 \(dp_{i, j}\) 表示区间 \([i, j]\) 的方案数,那么转移很显然,若 \(i,j\) 能够匹配,则可以将 阅读全文
posted @ 2025-10-13 15:59 Luckies 阅读(3) 评论(0) 推荐(0)
摘要:如果你做过 GSS2,那么你会发现它们很像,都是询问最优子段的问题。 这里有一个 trick,对于这一类询问最优子段的问题,首先考虑将询问离线,然后扫描线。若当前扫描到 \(i\),设 \(f_j\) 表示以 \(j\) 为左端点,\(i\) 为右端点的子段信息,可以维护 \(f_j\) 的历史最值 阅读全文
posted @ 2025-10-13 15:56 Luckies 阅读(3) 评论(0) 推荐(0)
摘要:T1 注意到长度显然有单调性。考虑二分答案。 check 时长度确定,用哈希+哈希表判断是否重复出现即可。 T2 阅读全文
posted @ 2025-08-25 09:04 Luckies 阅读(8) 评论(0) 推荐(0)
摘要:T1 死因:没判 \(n1=n2\)。 发现数据范围非常小,\(n\le8\),于是考虑直接全排列一一对应来统计。 具体地,每枚举一个全排列就用邻接矩阵判断是否连边即可。 注意会有重复,于是可以把边集状压判重。 复杂度 \(\mathcal O(n!n^2)\)。 T2 这种题必须在 10 min 阅读全文
posted @ 2025-08-21 18:36 Luckies 阅读(6) 评论(0) 推荐(0)
摘要:T1 发现贪心不太好做,考虑二分答案。 考虑一个答案 \(x\) 合法的条件。发现当答案为 \(x\) 时,每种芒果最多选 \(x\) 个。那么将所有芒果选最多的数量,判断是否足够即可。即 \(\sum_{i_1}^{n}{\min(a_i,x)} \ge x \cdot k\)。 在考场上,如果证 阅读全文
posted @ 2025-08-20 18:05 Luckies 阅读(11) 评论(0) 推荐(0)
摘要:T1 今天的败笔。 注意到两点之间距离的奇偶性,等于它们到根的距离和的奇偶性。 那么三个点之间的距离奇偶性相同,等价于三个点到根的距离的奇偶性相同。 统计到根的距离为奇/偶的点的个数,求选三个点的方案数即可。 T2 把黑点删掉以后,会形成若干个仅由红点组成的连通块。 对于一个黑点来说,走到与它相邻的 阅读全文
posted @ 2025-08-17 10:09 Luckies 阅读(4) 评论(0) 推荐(0)
摘要:T1 循环边界写错了,怒挂 10 pts。 注意到数据范围只有 \(100\),那么状态就可以大胆设。 发现它类似一个背包模型,那么设 \(f_{i,j}\) 表示第 \(i\) 次攻击前,还剩 \(j\) 点魔法值最大伤害值。发现不太好确定由哪些状态转移,考虑扩散型转移。转移分讨一下就好了。 T2 阅读全文
posted @ 2025-08-16 09:57 Luckies 阅读(12) 评论(0) 推荐(0)
摘要:T1 一眼秒了,15min 写过。 思路比较简单,设 \(f_{i,j}\) 表示长度为 \(i\),第 \(i\) 位填 \(j\) 的序列的个数,那么转移从比 \(j\) 小的数和 \(j\) 的倍数转移就好了。 复杂度调和级数。 T2 非常抽象。看错了两遍题,变成了三个不同的题。写了三份不同的 阅读全文
posted @ 2025-08-15 18:26 Luckies 阅读(6) 评论(0) 推荐(0)
摘要:题意 给你 \(n\) 个字符串,让你对其进行排列,使得按以下规则花费最少: 设当前字符串为 \(s\),\(x\) 为 \(s\) 在答案排列中的位置。 如果 \(s\) 存在后缀且 \(s\) 的后缀在 \(s\) 之后,花费加 \(n^2\)。 如果 \(s\) 不存在后缀则花费加 \(x\) 阅读全文
posted @ 2024-07-25 12:55 Luckies 阅读(29) 评论(0) 推荐(0)
摘要:分块是一种思想,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 分块的应用面十分广泛,包括但不限于数组、树形结构等。 1. 块状数组 块状数组是分块思想最简单的应用。 它将一个数组分成若干块,然后对数组进行区间操作。对于每一个区间操作,区间中 阅读全文
posted @ 2024-07-25 12:52 Luckies 阅读(51) 评论(0) 推荐(0)
摘要:平衡树,是一种数据结构,可以实现一类元素在线性结构中动态变化,基于二叉搜索树,满足二叉搜索树的所有性质。 二叉搜索树(BST) 二叉搜索树是一种二叉树形结构,它满足以下性质: 空树是二叉搜索树。 若二叉搜索树的左子树不为空,则其左子树上所有点的附加权值均小于其根节点的值。 若二叉搜索树的右子树不为空 阅读全文
posted @ 2024-07-25 12:49 Luckies 阅读(65) 评论(0) 推荐(0)
摘要:Day -1.5 晚上在 apple 那里考试,笑死,黄题都场切不了。 Day -1 上午 CJ 放假,于是摆了一上午图寻。现在回想起来,我那天上午是不是疯了。 下午训练,竟然能写出来倍增 lca、kmp 和 Tarjan 的板子了(虽然会但是考场上没写出来过)。 从书包里翻出了几个悠哈的巧克力牛奶 阅读全文
posted @ 2024-01-13 17:34 Luckies 阅读(35) 评论(0) 推荐(0)
摘要:Upd on 2023.10.14 08:21:修改了推式子和题意的一些小错误。 前言 一道恐怖的绿题。显然我认为应该是蓝题。(不过在这篇题解写到一半的时候升蓝了,感谢 @StudyingFather。) 名字挺好的。 题意 给定 \(n\),求出满足以下条件的三元组 \((x, y, z)\) 的 阅读全文
posted @ 2024-01-13 17:28 Luckies 阅读(184) 评论(0) 推荐(0)
摘要:前言 今天考试考到这道题,挂惨了。 题意 有 \(n\) 道菜肴,编号为 \(1 \sim n\)。有 \(m\) 个条件,形如 \((i, j)\),表示菜肴 \(i\) 必须在菜肴 \(j\) 之前制作。需求出一个菜肴的制作顺序,满足: 在满足所有限制的前提下,\(1\) 号菜肴尽量优先制作。 阅读全文
posted @ 2024-01-13 17:25 Luckies 阅读(90) 评论(0) 推荐(0)
摘要:题目大意 有一条长度为 \(n\) 个单位长度的路,蚂蚁们要从起点走到终点。蚂蚁们每走 \(1\) 个单位距离需要 \(T\) 秒钟。现在,出题人可以在路上修筑 \(3\) 种防御塔来阻挡蚂蚁的进攻,每个单位距离只能修筑 \(1\) 座塔,塔的作用分别如下: 激光塔:蚂蚁在塔前时每秒会受到 \(r\ 阅读全文
posted @ 2024-01-13 17:24 Luckies 阅读(37) 评论(0) 推荐(0)
摘要:题目大意 有一个数列,初始时只有一个数 \(X\)。你可以对它进行一种操作:设末尾的数为 \(Y\),从 \(1 \sim \sqrt{Y}\) 中选一个数加到数列的末尾。如此进行 \(10^{100}\) 次操作,问数列一共有多少种可能的状态。 解法 考虑 DP。 设 \(dp_i\) 表示以数字 阅读全文
posted @ 2024-01-13 17:02 Luckies 阅读(35) 评论(0) 推荐(0)
摘要:2-SAT、Tarjan 阅读全文
posted @ 2023-07-08 10:43 Luckies
摘要:这一题是一道比较复杂的贪心(对于本蒟蒻来说) 假如两本书 \(a\) 和 \(b\),先看 \(a\) 再看 \(b\),那么我们开始的时候就把 \(a\) 放在上面。 这样的话,我们看 \(a\) 时就不需要搬动 \(b\),看 \(b\) 的时候会搬动 \(a\)。 而一开始如果把放在上面,看 阅读全文
posted @ 2023-07-08 10:38 Luckies 阅读(18) 评论(0) 推荐(0)