![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法进阶指南
文章平均质量分 94
感觉画质不如…原神
写文章主要目的是复习,欢迎各位大佬来找我交流
展开
-
算法竞赛进阶指南 0X40数据结构进阶——区间最大公约数
这个求区间的最大公约数,直接遍历求,时间复杂度我们是不能接受的。,我们可以使用差分数组来做,将一次区间操作转换为两次单点操作。的差分数组,并且这个差分数组就等同于之前的这个差分数组。保证数据在计算过程中不会超过 long long 范围。条指令,每条指令的格式如题目描述所示。对于每个询问,输出一个整数表示答案。对于每个询问,输出一个整数表示答案。就可以维护这个差分数组。所以我们也可以维护一个。原创 2023-06-15 21:10:34 · 157 阅读 · 2 评论 -
算法竞赛进阶指南 0X40数据结构进阶——你能回答这些问题吗
我们现在需要考虑的是如何用子节点区间 来更新 父节点区间的最大子段和。1.父节点的最大字段和 就是 左子节点的最大子段和,即。2.父节点的最大字段和 就是 右子节点的最大子段和,即。3.父节点的最大字段和 就是 左子节点的最大后缀和。对于每个查询指令,输出一个整数表示答案。对于每个查询指令输出一个整数表示答案。加上 右子节点的最大前缀和。和 右子节点的最大前缀和。就是左子节点的最大前缀和。这个区间内的最大子段和。都维护一个最大子段和。1.父节点的最大前缀和。2.父节点的最大前缀和。就是左子节点的区间和。原创 2023-06-15 10:27:31 · 75 阅读 · 0 评论 -
算法竞赛进阶指南 0X40数据结构进阶——谜一样的牛
所以我们可以选择从边界开始考虑,即从最后一头牛开始考虑。由于前缀和数组是有序的,所以我们可以利用 二分 的方式快速求出。对于每一头牛我们都重复这样的操作,直到结束,最后就能求出每一头牛的高度。头牛比它矮,那么倒数第二头牛的高度就应该是剩余区间(区间。头牛比它矮,那么就可以确定最后一头牛的高度肯定是。,并维护它的前缀和,表示这个数已经被选了,剩下的。对于最后一头牛,我们要先求出它在区间中的位置。行,每行输出一个整数表示牛的身高。头牛比它低,求每头奶牛的身高。,所以说它们的身高是互不重复的。原创 2023-06-12 09:38:22 · 131 阅读 · 0 评论 -
算法竞赛进阶指南 0X40数据结构进阶——一个简单的整数问题2
条指令,每条指令的格式如题目描述所示。对于每个询问,输出一个整数表示答案。对于每个询问,输出一个整数表示答案。,开始时将它们初始化为。那么对于每一条查询指令。我们使用两个树状数组。原创 2023-06-11 17:24:36 · 78 阅读 · 0 评论 -
算法竞赛进阶指南 0X40数据结构进阶——一个简单的整数问题
所以这里我们可以借助差分数组的思想,如果我们想要在。条指令,每条指令的格式如题目描述所示。对于每个询问,输出一个整数表示答案。对于每个询问,输出一个整数表示答案。,那么我们可以用一个差分数组。操作,犹豫树状数组是支持。那么此时如果我们要求。原创 2023-06-11 16:04:11 · 86 阅读 · 0 评论 -
算法竞赛进阶指南 0X40数据结构进阶——楼兰图腾
相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(在楼兰古城的下面发现了一幅巨大的壁画,壁画上被标记出了。西部 314 打算研究这幅壁画中包含着多少个图腾。个点的相对位置有关,因此不妨设坐标分别为。个点的水平位置和竖直位置是两两不同的。,且输出答案不会超过 int64。认为这幅壁画所包含的信息与这。两个数,中间用空格隔开,依次为。的形状来代表各自部落的图腾。在完成了分配任务之后,西部。个点中两个部落图腾的数目。它的数 的数量记录下来了。来到了楼兰古城的西部。),一个部落崇拜铁锹(原创 2023-06-11 15:14:13 · 80 阅读 · 0 评论 -
算法竞赛进阶指南 0X40数据结构进阶——食物链
当一句话满足下列三条之一时,这句话就是假话,否则就是真话。如果相等,说明这句话是真话;中的一种,但是我们并不知道它到底是哪一种。个动物,用上述两种说法,一句接一句地说出。时,此时关系一定成立,我们只需要更新即可。,这三类动物的食物链构成了有趣的环形。可能为负数,所以我们需要注意取模;,两数之间用一个空格隔开,其中。句话有的是真的,有的是假的。只有一个整数,表示假话的数目。句话,输出假话的总数。,是否与给定的已知关系。动物王国中有三类动物。你的任务是根据给定的。加入到同一个集合中。原创 2023-06-10 17:12:04 · 115 阅读 · 0 评论 -
算法竞赛进阶指南 0X40数据结构进阶——奇偶游戏
比较小,所以我们还是使用离散化的技巧,将输入的数映射到 最大为。到其根节点路径上的所有边权值做 异或运算,就可以得到 节点。个答案,并指出在至少多少个回答之后可以确定小。,我们先检查它们是否在一个集合中,即。序列满足所有回答,则输出问题总数量。在实现上,我们可以使用。行,每行包含一组问答:两个整数。在路径压缩的时候,对于 节点。与其 根节点的奇偶性关系。之间的所有边权 异或和。,显然这是自相矛盾的。原创 2023-06-10 11:20:48 · 117 阅读 · 0 评论 -
算法竞赛进阶指南 0X40数据结构进阶——银河英雄传说
形式,则表示舰队排列发生了变化,你的程序要注意到这一点,但是不要输出任何信息;形式,你的程序要输出一行,仅包含一个整数,表示在同一列上,第。,然后不断地更新所有节点到祖宗节点的距离,并且压缩路径。现在需要你编写一个程序,处理一系列的指令。第一行包含整数 T,表示共有 T 条指令。号战舰之间布置的战舰数目,如果第。为整数,表示指令涉及的战舰编号。号战舰当前不在同一列上,则输出。号战舰所在列的所有战舰,都放在。列的星际战场,各列依次编号为。,首先会递归的找到它的祖宗节点。到它的祖宗节点的距离。原创 2023-06-10 09:37:39 · 79 阅读 · 0 评论 -
算法竞赛进阶指南 0X40数据结构进阶——程序自动分析
的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。,这些约束条件显然是不可能同时被满足的,因此这个问题应判定为不可被满足。对于所有的 等于关系,我们都将其合并到一个集合中。,描述 1 个相等/不等的约束条件,相邻整数之间用单个空格隔开。,表示需要判定的问题个数,注意这些问题之间是相互独立的。在同一个集合之中,就说明输入的条件是不可能被满足的。现在给出一些约束满足问题,请分别对它们进行判定。,表示该问题中需要被满足的约束条件个数。个问题判定为可以被满足,原创 2023-06-09 18:51:44 · 71 阅读 · 0 评论