随笔分类 -  OI

摘要:注意到背包不具备可删性,我们需要进行插入、删除、和动态查询,容易想到线段树分治解决删除问题,很经典的 trick。 求出每个物品所在的操作区间挂在线段树上,容易发现线段树上最多挂 \(\mathcal O(n\log n)\) 个物品,每个节点继承父亲的状态进行一次 01 背包的转移,总复杂度 \( 阅读全文
posted @ 2026-06-26 15:34 Luckies 阅读(8) 评论(0) 推荐(0)
摘要:很经典的题。 首先考虑一个合法的棋局长什么样。注意到一个位置能放棋子,当且仅当这个位置放上棋子后,左上角的矩形被填满。那么容易发现所有的棋子应该构成一个在左上角的类似三角形的结构。 然后考虑如何描述这个图形。注意到 \(n,m\le10\),考虑状压。可以发现,图形的右下角的轮廓是一条长度为 \(n 阅读全文
posted @ 2026-06-26 15:33 Luckies 阅读(5) 评论(0) 推荐(0)
摘要:Day -1 心情有点紧张,没什么心情写题。 上午做了去年 SCP-S 的 T2,感觉不是我能做出来的题。 下午和同学比赛打板子,【模板】缩点第一发竟然 0 pts。ed 跑到我们机房投足球,砸掉了一块天花板。 晚上稍微复习了一会,打了几把糖豆人,总是过不去第二关,破防了。 Day 0 早上睡到了 阅读全文
posted @ 2026-06-26 15:33 Luckies 阅读(9) 评论(0) 推荐(0)
摘要:介绍一个复杂度与 \(k\) 无关的做法。 一个无向图无环,那么它必然是一个森林。显然森林中每棵树之间互不影响,考虑每棵树怎么做。 设 \(f_{x,0/1/2}\) 表示在 \(x\) 的子树中,不选 \(x\)/不选 \(x\) 且选 \(<k\) 个相邻/选 \(x\) 的最大价值。显然有 \ 阅读全文
posted @ 2026-06-26 15:29 Luckies 阅读(7) 评论(0) 推荐(0)
摘要:我们可以将比赛过程分为 \(n\times m\) 轮,每轮有一架无人机从上一个门飞至下一个门,其余的传送。 考虑每轮是哪个没有传送。发现是飞向下一个门时间最少且编号最小的。设 \(w_{i,j}\) 表示 \(i\) 从 \(j-1\) 号门飞向 \(j\) 号门所需的时间,发现实际上这个顺序是对 阅读全文
posted @ 2025-10-13 16:06 Luckies 阅读(19) 评论(0) 推荐(0)
摘要:首先,无论我们怎么选,主任一定会选不满意度最大、变白度尽量小的任务。也就是无论我们怎么选,主任都会有一个固定的选任务的顺序。显然这个顺序就是按照不满意度递减,其次变白度递增排序后的顺序。我们记它为 \(id\)。显然,\(id\) 最小的 \(p-k\) 个主任一定不会选。 现在只需要考虑前 \(n 阅读全文
posted @ 2025-10-13 16:06 Luckies 阅读(19) 评论(0) 推荐(0)
摘要:首先观察数据范围,一眼 \(\mathcal O(n^3)\),然后再观察题目,你感觉它是个区间 dp,那么恭喜你,你的感觉是对的。 然后你直接一个区间 dp 板子拍上去,设 \(dp_{i, j}\) 表示区间 \([i, j]\) 的方案数,那么转移很显然,若 \(i,j\) 能够匹配,则可以将 阅读全文
posted @ 2025-10-13 15:59 Luckies 阅读(13) 评论(0) 推荐(0)
摘要:如果你做过 GSS2,那么你会发现它们很像,都是询问最优子段的问题。 这里有一个 trick,对于这一类询问最优子段的问题,首先考虑将询问离线,然后扫描线。若当前扫描到 \(i\),设 \(f_j\) 表示以 \(j\) 为左端点,\(i\) 为右端点的子段信息,可以维护 \(f_j\) 的历史最值 阅读全文
posted @ 2025-10-13 15:56 Luckies 阅读(11) 评论(0) 推荐(0)
摘要:T1 注意到长度显然有单调性。考虑二分答案。 check 时长度确定,用哈希+哈希表判断是否重复出现即可。 T2 阅读全文
posted @ 2025-08-25 09:04 Luckies 阅读(22) 评论(0) 推荐(0)
摘要:T1 死因:没判 \(n1=n2\)。 发现数据范围非常小,\(n\le8\),于是考虑直接全排列一一对应来统计。 具体地,每枚举一个全排列就用邻接矩阵判断是否连边即可。 注意会有重复,于是可以把边集状压判重。 复杂度 \(\mathcal O(n!n^2)\)。 T2 这种题必须在 10 min 阅读全文
posted @ 2025-08-21 18:36 Luckies 阅读(18) 评论(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 阅读(23) 评论(0) 推荐(0)
摘要:T1 今天的败笔。 注意到两点之间距离的奇偶性,等于它们到根的距离和的奇偶性。 那么三个点之间的距离奇偶性相同,等价于三个点到根的距离的奇偶性相同。 统计到根的距离为奇/偶的点的个数,求选三个点的方案数即可。 T2 把黑点删掉以后,会形成若干个仅由红点组成的连通块。 对于一个黑点来说,走到与它相邻的 阅读全文
posted @ 2025-08-17 10:09 Luckies 阅读(20) 评论(0) 推荐(0)
摘要:T1 循环边界写错了,怒挂 10 pts。 注意到数据范围只有 \(100\),那么状态就可以大胆设。 发现它类似一个背包模型,那么设 \(f_{i,j}\) 表示第 \(i\) 次攻击前,还剩 \(j\) 点魔法值最大伤害值。发现不太好确定由哪些状态转移,考虑扩散型转移。转移分讨一下就好了。 T2 阅读全文
posted @ 2025-08-16 09:57 Luckies 阅读(27) 评论(0) 推荐(0)
摘要:T1 一眼秒了,15min 写过。 思路比较简单,设 \(f_{i,j}\) 表示长度为 \(i\),第 \(i\) 位填 \(j\) 的序列的个数,那么转移从比 \(j\) 小的数和 \(j\) 的倍数转移就好了。 复杂度调和级数。 T2 非常抽象。看错了两遍题,变成了三个不同的题。写了三份不同的 阅读全文
posted @ 2025-08-15 18:26 Luckies 阅读(17) 评论(0) 推荐(0)
摘要:题意 给你 \(n\) 个字符串,让你对其进行排列,使得按以下规则花费最少: 设当前字符串为 \(s\),\(x\) 为 \(s\) 在答案排列中的位置。 如果 \(s\) 存在后缀且 \(s\) 的后缀在 \(s\) 之后,花费加 \(n^2\)。 如果 \(s\) 不存在后缀则花费加 \(x\) 阅读全文
posted @ 2024-07-25 12:55 Luckies 阅读(46) 评论(0) 推荐(0)
摘要:分块是一种思想,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 分块的应用面十分广泛,包括但不限于数组、树形结构等。 1. 块状数组 块状数组是分块思想最简单的应用。 它将一个数组分成若干块,然后对数组进行区间操作。对于每一个区间操作,区间中 阅读全文
posted @ 2024-07-25 12:52 Luckies 阅读(80) 评论(0) 推荐(0)
摘要:平衡树,是一种数据结构,可以实现一类元素在线性结构中动态变化,基于二叉搜索树,满足二叉搜索树的所有性质。 二叉搜索树(BST) 二叉搜索树是一种二叉树形结构,它满足以下性质: 空树是二叉搜索树。 若二叉搜索树的左子树不为空,则其左子树上所有点的附加权值均小于其根节点的值。 若二叉搜索树的右子树不为空 阅读全文
posted @ 2024-07-25 12:49 Luckies 阅读(92) 评论(0) 推荐(0)
摘要:Day -1.5 晚上在 apple 那里考试,笑死,黄题都场切不了。 Day -1 上午 CJ 放假,于是摆了一上午图寻。现在回想起来,我那天上午是不是疯了。 下午训练,竟然能写出来倍增 lca、kmp 和 Tarjan 的板子了(虽然会但是考场上没写出来过)。 从书包里翻出了几个悠哈的巧克力牛奶 阅读全文
posted @ 2024-01-13 17:34 Luckies 阅读(53) 评论(0) 推荐(0)
摘要:Upd on 2023.10.14 08:21:修改了推式子和题意的一些小错误。 前言 一道恐怖的绿题。显然我认为应该是蓝题。(不过在这篇题解写到一半的时候升蓝了,感谢 @StudyingFather。) 名字挺好的。 题意 给定 \(n\),求出满足以下条件的三元组 \((x, y, z)\) 的 阅读全文
posted @ 2024-01-13 17:28 Luckies 阅读(227) 评论(0) 推荐(0)