上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 27 下一页
摘要: 题目大意 T组数据,每组给定一个字符串 s 求一个 最长的 字符串 t ,满足: 1. t 是一个 回文串 2. t = a+b , a是字符串s的前缀,b是字符串s的后缀 ,'+' 为拼接两字符串,ab可能为空串 数据范围 数据组数不超过 1000 字符串的总共长度不超过 5000 解题思路 可直 阅读全文
posted @ 2020-03-20 06:18 StelaYuri 阅读(341) 评论(0) 推荐(0)
摘要: 题目大意 T组数据,每组给定一个字符串 s 求一个 最长的 字符串 t ,满足: 1. t 是一个 回文串 2. t = a+b , a是字符串s的前缀,b是字符串s的后缀 ,'+' 为拼接两字符串,ab可能为空串 数据范围 数据组数不超过 1e5 字符串的总共长度不超过 1e6 解题思路 (标准做 阅读全文
posted @ 2020-03-20 05:37 StelaYuri 阅读(430) 评论(0) 推荐(1)
摘要: 【本文解决 区间修改/区间求和 的问题】 区间求和部分内容与上一篇内容相同,详见 线段树点修改/区间求和 已经知道了在O(logN)的复杂度内求N个连续数之和的做法 对于区间修改,最简单的办法就是进行多次点修改 但是多次点修改最后的时间复杂度为O(NlogN),还不及最普通的数组模拟O(n)效率高 阅读全文
posted @ 2020-03-19 18:51 StelaYuri 阅读(1460) 评论(0) 推荐(0)
摘要: 线段树 本文描述高级数据结构线段树的定义,并解决 点修改/区间求和 的问题 结构与定义 线段树的基本结构 由图可知,线段树的每一个节点都代表着一段区间 且同一层的节点(深度相同的节点)所表示的区间互不重叠 所有叶子节点代表的区间左边界与右边界相同(叶子节点代表单个元素) 普遍规定 如果某个非叶子节点 阅读全文
posted @ 2020-03-18 21:26 StelaYuri 阅读(754) 评论(0) 推荐(0)
摘要: 题意: 这个地方一天有 h 个单位时间,Vova打算睡觉睡 n 次觉 每次睡觉可以睡 a[ i ] 个单位时间或者 a[ i ] - 1 个单位时间,但必须要睡满 如果醒来的时间在 [ l , r ] 这个范围内,那么这个睡眠时间就很好(答案+1) (醒来之后又要马上睡下一次的觉……) 问Vova该 阅读全文
posted @ 2020-03-17 00:41 StelaYuri 阅读(231) 评论(0) 推荐(0)
摘要: 【求模式串与主串的每一个后缀的最长公共前缀】 有两个字符串 主串S 与 模式串T 求主串S从第 i 个位置开始,与T的最长相同前缀的长度 即 S[ i ]~S[ i+mlen ] = T[ 0 ]~T[ mlen ] 的 mlen 值 对于 i∈[ 0,Slen ) 的任意一个i都求一遍 定义:(这 阅读全文
posted @ 2020-03-16 21:09 StelaYuri 阅读(458) 评论(0) 推荐(0)
摘要: 【匹配字符串S与T,判断T是否为S的子串】 即在主串S中快速匹配是否存在一个子串等同于模式串T S为被匹配串(主串),T为匹配串(模式串) 实现方式: 在最普通的算法中,我们总是拿两个指针指向两个字符串的不同位置来匹配 如果某个字符匹配成功就把两个光标同时移动到下一个位置,即 如果不匹配,那么模式串 阅读全文
posted @ 2020-03-16 20:11 StelaYuri 阅读(255) 评论(0) 推荐(0)
摘要: 【 快速寻找出一字符串内的最长回文子串 】 以abaaba为例 因为回文串也分为奇数长度与偶数长度的 所以回文子串的中心点可能是某个字符,也可能是某两个字符之间 所以算法先会预处理初始字符串,让每两个字符之间加一个原本不存在的特殊字符 即原串会先被处理为 #a#b#a#a#b#a# 然后为了防止数组 阅读全文
posted @ 2020-03-16 19:58 StelaYuri 阅读(214) 评论(0) 推荐(0)
摘要: 题意: 给定两个数 u v ,求一个最短的数组 这个数组所有元素按位异或等于 u ,且和为 v 找不到输出 -1 否则输出数组的个数,再输出数组内的正整数 解题思路: 首先考虑到 -1的情况 根据二进制关系, 一个数 异或=和(自己=自己) 两个及以上数 异或<=和(二进制加法得知,等于的情况出现在 阅读全文
posted @ 2020-03-15 02:50 StelaYuri 阅读(356) 评论(0) 推荐(1)
摘要: 题意: 给定一棵 n 个节点 n-1 条边的树 你需要给这棵树的每条边打上编号 编号从 0 开始到 n-2 定义 MEX( u,v ) 表示从节点 u 走到节点 v 的途中所经过的边中没有出现过的编号的最小非负整数 为了使得最大的 MEX( u,v ) 值最小 问应该如何编号 解题思路: 两个节点一 阅读全文
posted @ 2020-03-15 02:08 StelaYuri 阅读(340) 评论(0) 推荐(0)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 27 下一页