10 2023 档案
摘要:忽然想起来,就发了。
阅读全文
摘要:Problem Description 两个序列 \(A, B\)。这两个序列都是由 \(0,1,2\) 这三个数构成。 \(x_1,y_1,z_1\) 和 \(x_2,y_2,z_2\) 分别代表 \(A\) 序列和 \(B\) 序列中 \(0,1,2\) 出现的次数。 你可以重新排列两个序列中的
阅读全文
摘要:Problem Description 给你一个整数 \(n\) 和字符串 \(s\),问:能不能在小于 \(n\) 次操作的情况下,输出字符串 \(s\)。 有两次操作可供使用: 在已打出内容的最后添加一个字符。 复制已打出内容的一个连续的子串并加到内容的末尾。 Solution 用到的容器:\(
阅读全文
摘要:Problem 题目简述 给你一个 \(n \times m\) 的方格,构造一个方案,使得方案中 \(B = W + 1\)。 \(B\):相邻的格子有至少一个白色格子的黑色格子的个数。 \(W\):相邻的格子有至少一个黑色格子的白色格子的个数。 思路 分奇偶讨论。 \(n \times m\)
阅读全文
摘要:Problem 题目简述 给你一个数列 \(a\),有这两种情况,这个数列是「可爱的」。 它本身就是回文的。 定义变量 \(x\),满足:序列 \(a\) 中所有值等于 \(x\) 的元素删除之后,它是回文的。 思路 首先考虑暴力。暴力枚举数组中的每一个数,当作变量 \(x\),然后进行回文检验。
阅读全文
摘要:Problem 题目简述 给你一个 \(K\),求出 \([1 \sim K]\) 区间内有多少个 321-like Number。 321-like Number 的定义: 每一位上的数字从左到右严格单调递减。 或者说,若它有 \(d\) 位,对于 \(\forall i\in[1,d-1]\),
阅读全文
摘要:Problem 题目简述 有 \(n\) 个人分别在 \(c_i\) 的时刻来,他们都要在 \(k_1\),\(k_2\) 和 \(k_3\) 窗口干不同的事,当有后面一人也排在在同一窗口时,必须等待前面的人办完事才能轮到他。 问怎么在最优分配情况下,使停留时间最长的人停留时间最短。 思路 这道题的
阅读全文
摘要:Problem 题目简述 设序列 \(a\) ,并且是单调递增的。设 \(a\) 当前长度为 \(l\),你要对 \(a\) 作差分,即令 \(b_i = a_{i+1} - a_i(1\le i < l)\),然后使 \(b\) 数组保持单调递增。 一直持续操作,直到 \(a\) 数组中只有一个元
阅读全文
摘要:Problem 题目简述 现有 \(n\) 个已经加过油的加油站,如果当前剩余油量 \(< 10\) 升,则会加 \(x\) 升的油。 初始状态下,有 \(x\) 升油。每个加油站之间的距离为 \(100\) 米,耗油量为 \(10\) 升。 思路 首先,从左向右求出能到达的编号最小的车站,记为 \
阅读全文
摘要:Problem 相关算法:\(DP\)。 题意简述 给你一个方格图,每次只能向上、向右、向下走。 现在求:经过所有点取到的数字和的最大值。 思路 动态规划。 对于每一列而言,如果某个点向上走了,就不可能再向下走。向下走了同理。 所以我们可以把两种情况都尝试一遍,每个点而言,如果是处于向下的状态,那么
阅读全文
摘要:Problem 考察算法:后缀表达式建树,优化。 题目简述 读入一个后缀表达式,由 \(\&,\mid,!\) 三种运算和操作数构成。 有 \(q\) 次询问,每次输入一个下标 \(i\) ,表示要取反 \(x_i\) 的值。每次求表达式的值。 暴力 每次重新建表达式树,计算。 时间复杂度:\(O(
阅读全文
摘要:Problem 考查知识点:桶优化。 题目简述 竞赛的获奖率为 \(w\%\),即当前排名前 \(w\%\) 的选手的最低成绩就是即时的分数线。 若当前已评出了 \(p\) 个选手的成绩,则当前计划获奖人数为 \(\max(1, \lfloor p \times w \%\rfloor)\),如有选
阅读全文
摘要:Problem 考察算法:后缀表达式计算、建表达式树、\(DFS\)。 题目简述 给你一个中缀表达式,其中只有 \(\&\) 和 \(\mid\) 两种运算。 求:\(\&\) 和 \(\mid\) 运算中的“最短路”次数各出现了多少次。 最短路的定义为: 在 \(a\) \(\&\) \(b\)
阅读全文
摘要:Problem 考察算法:\(DP\)。 题目简述 给你 \(n\) 个点,每个点有一个坐标 \((x_i,y_i)\),还可以添加 \(k\) 个点。 添加之后,求:最长的上升点列的长度。 上升点列定义(两个点满足其中之一即可): \(x_{i+1}-x_{i} = 1,y_i = y_{i +
阅读全文
摘要:Problem 考察算法:树形 \(DP\)。 题目简述 给你一个树,如果树上的某个节点上放置了一个士兵,那么与其相连的所有边上的点都能被瞭望到。 求:最少要放置几个士兵,能使得整个树上每个点都能被瞭望到? 思路 设 二维数组 \(f[x][0/1]\)。 \(f[x][0]\) 表示不在 \(x\
阅读全文
摘要:Problem 考察算法:拓扑排序 + \(DP\) + \(Dijkstra\)。 题目简述 给出一个无向无权图,问从顶点 \(1\) 开始,到其他每个点的最短路有几条。 思路 先求出 \(1\) 号点到每个点的最短路 \(d_i\) 。 分析每条边 $(x,y) $: 如果 d[x] + 1 =
阅读全文
摘要:考察算法:树形 \(DP\)。 题目概述 给你一个树,每个结点有一个“上司”。每个节点都有一个快乐指数 \(h_i\)。 但是,如果有某个节点的上司(父亲),已经来到了舞会,那么它的儿子就不能去了。 求:最大的快乐指数(所有人的快乐指数之和)。 思路 树形 \(DP\)。设 \(f_{i,0}\)
阅读全文
摘要:Problem 题目概述 给你一个有向图,求: 从 \(1\) 号点走到每个点的最短路之和 从每个点走到 \(1\) 号点的最短路之和。 然后将他们相加。 图论中的小技巧 在无向图中,哪些点能走到 \(x\) 点,等价于 \(x\) 点能走到哪些点。 在有向图中,哪些点能走到 \(x\) 点,等价于
阅读全文
摘要:Problem 题目概述 给你一个无向图,边权都为 \(1\) ,求:离 \(1\) 号点最远的点的编号、最远的距离、有几个点是离 \(1\) 号点最远的。 思路 直接用:优先队列 \(BFS\),先求出 \(1\) 号点到每个点的最短路,存到 \(dis\) 数组中,然后再求 \(max(dis[
阅读全文
摘要:题目传送:链接 思路 算法:\(Floyd.\) 每次询问记录一个变量 \(n\),表示当前遍历到哪个点。 当 \(t_n <= T\) 的时候,利用 \(n\) 点更新到 $(x,y) $ 点的最短路。 如果发现 \(x,y\) 点其中有一个还没有修好,或者是 \(d_{x_y}\) 为 0x3f
阅读全文
摘要:Problem 题目简述 给你两个独立的联通块,求:在两个联通块上各找一个点连起来,使得新的联通块的直径的最小值。 思路 本题主要做法:\(Floyd\)。 首先,Floyd求出任意两个点之间的最短路。 枚举每一个点,求出以这个点能走到的所有点中距离的最大值。(一定在能走到的情况下,不然默认距离就是
阅读全文
摘要:Problem 题目简述 给你一个二叉树,求前序遍历。 输入的方法为左右孩子表示法。 思路 这道题的话可以DFS。定义一个结构体 \(node\), 存储 \(3\) 个信息: \(fa ,l,r\) 分别表示父亲、左子树、右子树。然后下标就是字母的 \(ACSII\) 码。 然后每次将左子树、右子
阅读全文
摘要:Problem 题目概括 $n \times m $ 的网格,有些格子是障碍格。\(0\) 无障碍,\(1\) 有障碍。机器人有体积,总是在格点上。 有5种操作: 向前移动 \(1/2/3\) 步 左转 \(/\) 右转 每次操作需要 \(1\) 秒。 求从 \(x_1,y_1\) 到 \(x_2,
阅读全文
摘要:Problem 考察知识点:二分、贪心。 题目描述 对于给定的一个数组,现要将其分成 \(M\) 段,并要求每段连续,且每段和的最大值最小。 思路 二分答案出每段和最大值的最小值,然后贪心检验是否满足。 难点在 \(check\) 上。 策略:每次开始循环,如果没有超范围,就一直选,知道选满为止,求
阅读全文