随笔分类 - 具体问题 / 基础数据结构
摘要:前言 策略就是放弃模拟赛, 搞完这两天的授课内容 这样后面勉强还能跟上 \(\text{号家军 OJ S0039 堆}\) 策略 停滞 心态 题解仅供参考 思路 按题意直接做就可以达到 \(\mathcal{O} (qn \log n)\) 首先简化问题 \(q\) 个询问, 每个询问 \(n\)
阅读全文
摘要:前言 其实说, 认真去看, 缓慢耐心还是看得懂题解的 思路 放到 \(\rm{trie}\) 树上考虑 从高到低考虑位, 每次只考虑当前子树的方案数 如果当前位 \(p\) 使得 \(2^p \geq x\), 我们就可以直接递归下去处理两棵子树的方案了, 两棵子树的方案任意组合都行 否则我们只能选
阅读全文
摘要:思路 首先考虑对于每个点都做一遍太慢了, 考虑有没有什么传递性 找点性质 感受到一种性质 对于两个内部互相可吃的相邻连通块, 如果能够找到两个相邻点对 \(\{u, v\}, \{x, y\}\) \((\)其中 \(u, x\) 属于一个连通块, \(v, y\) 属于另一个\()\), 其中 \
阅读全文
摘要:前言 对于模拟赛 \(\rm{T3}\), 我们深刻弄懂暴力, 然后简单看一下正解 对于 \(\textrm{[NOI 2010]}\) 超级钢琴, 只关注小问题 思路 首先, 转化问题 题意 给定数组 ppp, 询问 mmm 次, 每次询问提取 [L,R][L, R][L,R] 区间, 查询 al
阅读全文
摘要:前言 其实这种在排序时应该靠前的, 比较难评 思路 这个这个真的比较这个这个, 这下这下了 显然 \(M = 2\) 是非常好的提醒 我们发现可以通过记录 \(?\) 的模式来匹配问题 但是正如我赛时感受到的, 这显然不是一个好的可供模拟的方法, 必须厉害一点啊 因此不难考虑到状压哪些地方是问号,
阅读全文
摘要:前言 希望我的方法是一种完美的答卷吧 宁可做错, 也不能什么都不做 点对问题 点对贡献维护, 类似扫描线的思路, 一维枚举 一维数据结构处理 往往可以通过之前计算过的 \(l\) 来继承, 类似 \(\rm{dp}\) 一般来说, \(L\) 从右往左, \(R\) 从左往右枚举 二进制相关问题 往
阅读全文
摘要:前言 被自己傻到了, 赛时想法完全就是三岁小孩都能 \(\rm{hack}\) 的, 不仅没有意识到还接着推了无比之久 关于一些考试技巧 考试的时候一定要按照策略走, 连保底都要确定正确性以后再吃, 不能无意义的浪费太多时间 思路一定一定要用数据验证, 不管怎么样你至少要找 333 组数据吧 思路
阅读全文
摘要:思路 题意 给定一个长为 nnn 的排列 aaa 和一个最初为空的大根堆 进行 2n2n2n 次操作 取出堆顶放入 bbb 末尾 取出 aaa 开头放入堆 求最终得到的 bbb 的种类数 注意力惊人其实有点, 我说题解 性质 假设 111 在 aaa 中的位置为 ppp , 在 bbb 中的位置为
阅读全文
摘要:前言 做一下一场没打的 \(\textrm{div 2}\) 的 \(\rm{C}\) 最近思维能力还在下降, 无敌 前天还能打出思维题, 今天打不出 \(\textrm{div 2 C}\) 思路 首先转化题意 给定一个 \(n\) 节点的树, 求删除两个节点及其连边之后, 最大连通块的数量 不难
阅读全文
摘要:思路 有两个集合 \(A\) 和 \(B\) 你可以做至多 \(k\) 次操作,每次选择 \(a_i \in A, b_j \in B\) 并令 \(a_i \gets a_i \& b_j\) 问操作结束后 \(A\) 所有数之和的最小值 因为多操作一定不劣, 所以我们直接钦定操作 \(k\) 次
阅读全文
摘要:前言 更重要的是研究这题的部分分, 赛时居然可以做到 \(1 \ \rm{h}\) 没有拿到任何一个特殊性质 发现以前一直用的大标题很碍眼, 改了, 下课把之前的格式也改一下 思路 暴力 容易模拟, 做到 \(25 \%\) 特殊性质 \(\rm{A}\) 思路 你发现每一个区间都是其后面区间的前缀
阅读全文
摘要:前言 模拟赛 \(\rm{T4}\) , 不会比较正常, 仅仅只是记录做法 然后就是还有每日一练 思路 首先是朴素的 \(\rm{dp}\) 令 \(f_{i, j}\) 表示考虑到第 \(i\) 行, 其中这一行的左端点位置为 \(j\) 的最优花费 容易写出转移 \[f_{i, j} \gets
阅读全文
摘要:思路 根据赛时的检验, 典型的动点问题的 \(\rm{trick}\) 并不能在这里使用, 也就是说, 分类讨论 前缀 + \(i\) + 后缀 前缀 + \(i\) 后缀 + \(i\) 是不可行的 考虑括号串问题的常见做法, 先将其赋值成 \(1, -1\) 之后进行处理 你发现这种做法有枚举字
阅读全文
摘要:前言 这些题全部口胡, 到李超线段树了再打代码 好累啊, 昨晚上不该太晚睡的, 中午他们期末也没睡, 精神萎靡 思路 先简化一下题意 对于 \(n\) 个点, 第 \(i\) 个点所在的位置为 \(x_i\) , 其有 \(p_i\) 个物品, 在 \(i\) 点建立仓库的费用为 \(c_i\) ,
阅读全文
摘要:思路 赛时完全没有思路 考虑 \(a_i - a_{i - 1} = 1\) 的转化 容易发现其等价于 \(a_{i - 1} - (i - 1) = a_i - i\) 把 \(a_i \to a_i - i\) 问题转化为 求将某一个区间全部变成同一个数的最优方案 考虑到这是经典贪心, 我们把一
阅读全文
摘要:前言 想想自己做, 一共就两种 \(\rm{trick}\) 还不会? 思路 你发现两个不能和谐共处的奶牛, 当且仅当他们的 \(10\) 个喜好不重 因为要求时间复杂度不能是 \(\mathcal{O} (n^2)\) , 所以肯定要想办法做到不枚举点对 这个时候联想到之前的一道题 [CEOI20
阅读全文
摘要:思路 先把赛时想法搬一部分过来 转化题意, 对于 \(n\) 个带权 \(k\) 的点, 任意两点 \(i, j\) 之间有双向连边, 其边权为 \(w_{i, j} = d_{i, j}\) , 求一最小阈值 \(C\) , 满足对于所有 \(w \leq C\) 的边连接后, 存在一个连通块 \
阅读全文
摘要:前言 调 \(C\) 快魔怔了, 还是先来打这个 思路 方法 \(1\) : 笛卡尔树 看到这种类 \(\rm{RMQ}\) 问题直接一个笛卡尔树起手, 恰好 \(p\) 是不重的, 那么更方便了啊 搞出树树挖下性质 例如样例中的 4 2 4 1 3 你注意到每次删除操作相当于选择一个键值段, 然后
阅读全文
摘要:算法 赛时也是想到了大部分吧, 实现上还是有问题 这里给出一种判断自己是否想出了正解的办法: 如果问题足够复杂, 解法足够简单, 那么是错的, 因为我不是天赋哥 转化题意 对于序列 \(s\) , 找出一段区间 \([L, R]\) , 使得区间长度至少为 \(k\) 的前提下, 令所有数的 \(\
阅读全文
摘要:题面 自出题 挂个 pdf 题面下载 算法 暴力 可能的答案只有 \(O(n^2)\) 个, 考虑每个答案 \(\rm{check}\) 是 \(O(n \log n)\) 的 总时间复杂度 \(O(n ^ 3 \log n)\) /*O(answer * n * logn), 即 O(n^3log
阅读全文

浙公网安备 33010602011771号