刷题小结
文章平均质量分 52
knookda
这个作者很懒,什么都没留下…
展开
-
树状数组求逆序对的数量
所以我们可以对*元素先排序,再进行离散化。*当然,也要记录初始顺序。我们可以利用树状数组依次将输入的值所对应的位置改为1。前边加入到数组,此时**1~a[i]的前缀和**即为小于等于。对于此题来说,数组元素范围太大,建树的时候会报数组。来说,若与其能组成逆序对则比它大的数会在。且我们只需要知道元素间的。...原创 2022-08-01 10:38:16 · 219 阅读 · 0 评论 -
关于三分查找
以凹函数为例,以下均以区间左端点认为,右端点为认为 用两个点将区间分成三份 与极值点进行比较,社戏远离最值点的一段如此不断缩小区间,直到 与近乎相等 应用 [C. Slay the Dragon](Problem - 1574C - Codeforces)本题的特点是,当数据中不存在此点时的某些情况需要比较和他相邻的点的结果,及最近的大于它和小于它的。这时候就可以用三分查找,找到此两点。......原创 2022-06-12 16:26:09 · 632 阅读 · 0 评论 -
送外卖--牛客
题目描述 n 个小区排成一列,编号为从 0 到 n-1 。一开始,美团外卖员在第0号小区,目标为位于第 n-1 个小区的配送站。 给定两个整数数列 a[0]~a[n-1] 和 b[0]~b[n-1] ,在每个小区 i 里你有两种选择: 选择a:向前 a[i] 个小区。 选择b:向前 b[i] 个小区。 把每步的选择写成一个关于字符 ‘a’ 和 ‘b’ 的字符串。求到达小区n-1的方案中,字典序最小的字符串。如果做出某个选择时,你跳出了这n个小区的范围,则这个选择不合法。 • 当没有合法的选择序列时,输出原创 2022-03-19 16:21:39 · 374 阅读 · 1 评论 -
填涂颜色(搜索)
题目 由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向。现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 1 1 1 1 1原创 2022-03-15 14:43:12 · 85 阅读 · 0 评论 -
尼克的任务
题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。 尼克的一个工作日为 nn 分钟,从第 11 分钟开始到第 nn 分钟结束。当尼克到达单位后他就开始干活,公司一共有 kk 个任务需要完成。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务开始时刻尼克正在工作,则这些任务也由尼克的同事完成。如果某任务于第原创 2022-03-09 14:42:33 · 140 阅读 · 0 评论 -
有关反向建图
反向建图 基本认识 当有向图需要求多个点到一个点的最短距离时 除了使用多元最短路的方法还可以通过反向建边转化为单源最短路 顾名思义,将边反向 反向建边方法 用邻接表存图时(用堆优化版dijkstra跑最短路时适用) void add(int a, int b, int c) { e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx ++; } 、、、、 while(m --) { int x, y, w; scanf("%d%d原创 2022-02-14 14:11:18 · 394 阅读 · 0 评论 -
DP问题记录方案--01
DP问题记录方案初见 记录最终状态的集合编号 根据前驱性质反推出工程中经历的部分节点 挖地雷 题目描述 在一个地图上有NN个地窖(N \le 20)(N≤20),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径。当地窖及其连接的数据给出之后,某人可以从任一处开始挖地雷,然后可以沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束。设计一个挖地雷的方案,使某人能挖到最多的地雷。 输入格式 有若干行。 第11行只有一个数字,表示地窖的个数NN。 第22行有NN个数,分别表示每个地窖中原创 2022-02-11 21:41:37 · 150 阅读 · 0 评论 -
记忆化搜索--初次见面
初次体会记忆化搜索 在搜索过程中已经搜到答案的数据不重复搜索以降低时间复杂度 与包搜的明显区别就是恰当的返回以记录的值 滑雪 题目描述 Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子: 1 2 3 4 5 16 17 18 19 6 15 24 25 20原创 2022-02-11 21:35:48 · 67 阅读 · 0 评论