上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 27 下一页
摘要: 区间最值查询问题的一般解法 区间最值查询问题,即RMQ(Range Minimum/Maximum Query) 常见解法有朴素算法——***O(n)***预处理、O(n)查询,总体复杂度O(n+nq) 线段树——***O(nlogn)***预处理、O(logn)查询,总体复杂度O((n+q)log 阅读全文
posted @ 2020-04-12 00:27 StelaYuri 阅读(1562) 评论(0) 推荐(0)
摘要: 两种思路其实只差在写法上 看不懂的就直接看代码吧qwq UPD: 注意题目给定的数据范围(Hack掉了很多) n最大3e5,a b最大1e12 考虑最坏情况,即a=1e12,b=1,n=3e5 最终答案为(1e12 1) 3e5+1略小于1e17 所以无穷大值INF最好取大于1e17的值,下面的代码 阅读全文
posted @ 2020-04-11 01:52 StelaYuri 阅读(536) 评论(1) 推荐(2)
摘要: 题意 n个学生坐一排,每个学生要么朝左要么朝右 每秒钟可以将 当前状态 的任意 几对 面对面的 相邻 学生往自己的反方向转动 要求 恰好在k秒钟之后 保证没有任何一对相邻学生面对面 问是否存在解决方案 解题思路 首先可以~~想到~~(猜到)的是,如果刚开始已经没有任何一对相邻学生面对面了 那就直接输 阅读全文
posted @ 2020-04-09 02:34 StelaYuri 阅读(739) 评论(0) 推荐(0)
摘要: 题意 给定一个长度为 n 的数组 ar (n 解题思路 假设我们找到了一个和为0的子数组 br 那么只要有其他子数组包含br,那么这些子数组都不能称作好数组 所以我们在处理某个元素ar\[i]时,只看 以ar\[i]为右边界 的子数组,r=i 从 i 位置开始往左寻找,直到将某个和为0的子数组包含进 阅读全文
posted @ 2020-04-09 02:25 StelaYuri 阅读(831) 评论(0) 推荐(2)
摘要: 倍增算法 倍增算法采用了二分缩小范围的思想 使得待求两节点持续跳跃2的次方级的距离来快速求出LCA 是常见的求树上节点LCA的在线算法 倍增算法是要让同深度的两个节点同时向根节点方向跳跃 直到第一次在同一个祖先节点遇到 那么这个祖先节点就是他们的最近公共祖先节点LCA 在跳跃的过程中,每次跳跃的步数 阅读全文
posted @ 2020-04-08 00:24 StelaYuri 阅读(937) 评论(0) 推荐(0)
摘要: 最近公共祖先问题 树上两点的最近公共祖先问题(LCA - Least Common Ancestors) 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u和v的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先。 例如,如图,在以A为根的树上 节点 阅读全文
posted @ 2020-04-06 22:58 StelaYuri 阅读(854) 评论(0) 推荐(1)
摘要: 题意 告诉你一个序列,不同的数字代表不同的种类的动物,你需要给每只动物上色 如果相邻两个动物种类不同,那么他们涂的颜色也必须是不同的 给定的序列首尾相连,即最后一个与第一个也是相邻的 问最少需要多少种颜色去涂,且输出涂色方案 相同种类的动物可以涂不同的颜色 解题思路 显而易见,全部都是同种动物只需要 阅读全文
posted @ 2020-03-27 02:09 StelaYuri 阅读(415) 评论(0) 推荐(0)
摘要: AC自动机 性质 AC自动机/AC算法(Aho-Corasick automaton),是著名的多模式串匹配算法。 前置知识 字典树(重要) KMP算法(了解Next数组的作用) 典例与算法复杂度分析 典型例题是:给定一个主串 S,给定多个模式串 T,问主串 S 中存在多少个给定的模式串 在KMP算 阅读全文
posted @ 2020-03-27 01:36 StelaYuri 阅读(548) 评论(0) 推荐(0)
摘要: 字典树 描述 字典树,又称单词查找树、Trie树、前缀树,是一种树形结构,是一种哈希树的变种。 典型应用是用于统计、排序和保存大量的字符串(但不仅限于字符串)。 常见操作有插入和查找,删除操作少见。 性质 根节点不包含字符 除根节点外每一个节点都只包含一个字符 从根节点到某一节点,路径上经过的字符连 阅读全文
posted @ 2020-03-25 23:19 StelaYuri 阅读(508) 评论(0) 推荐(0)
摘要: 题意 给定一个数n 说明有从 0 到 9999...(n个9)的10^n个数字 所有数字如果不及n位,全部用前导0填充,以保证每个数字都是n位数 然后定义每个数字是由多个块组成的 相邻的相同数字构成一个块 以 00027734000 为例 共有3个长度为1的块(2,3,4) 1个长度为2的块(77) 阅读全文
posted @ 2020-03-24 01:45 StelaYuri 阅读(283) 评论(0) 推荐(0)
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 27 下一页