数据结构
mlm5678
这个作者很懒,什么都没留下…
展开
-
Manacher算法
马拉车(Manacher)算法是在O(n)时间内解决寻找源字符串的最长回文子串S的问题的算法。朴素算法情况下对于每一个S[i]都要左右遍历其最大回文子串,所以时间复杂度是O(n2)算法流程分析 由于回文分为偶回文(比如 abab 长度为4)和奇回文(比如 abcba 长度为5),而在处理奇偶问题比较麻烦,所以这里需要做 个预处理,在字符间插入一个特殊字符...原创 2019-05-05 00:29:02 · 2625 阅读 · 0 评论 -
K、Strings in the Pocket(马拉车求回文子串个数板子)
马拉车+暴力思路:s和t相同时,就是找s的回文子串的数量,如果两个串相同,可以视为找回文串个数。如果不同,先判断删除左边连续相同部分和右边连续相同部分后能否通过反转使两串相等,如果不行结果为0,如果可行不断往两边延伸。教训!!!拿string写容易被卡时长tle代码#include <bits/stdc++.h>#include<iostream>...原创 2019-05-05 02:35:20 · 396 阅读 · 0 评论 -
线段树的离散化和Lazy标记
这位大佬写的潇洒走一回LW离散化其实挺重要的,能缩小一点常数是一点的。比如求一些线段的重合,给出一些线段,如:(2,4),(4,8),(6,8);如果没离散化就建树的话,最大的数是8,那么树就为build(1,8),即最大的上限为8。如果离散化,把这几个数排下序:2,4,6,8;那么分别让2指向1,4指向2,6指向3,8指向4,即1代表2,2代表4,3代表6,4代表8,然后树就为bui...转载 2019-07-08 21:57:43 · 183 阅读 · 0 评论 -
权值线段树与主席树(初步)
1.首先,给你一颗值为横坐标的线段树,每个节点上存着该值出现了多少次,这样的一颗线段树你会求区间k大值吧.二分即可.2.然后,假设区间是数组arr[n],区间长度是n,那么给你n颗线段树,第i颗线段树是第i-1颗线段树插入arr[i]得到.3.如果你有了这n颗线段树,想求区间[l,r]中的第k大值,那么你需要在第r颗和第l-1颗线段树的差线段树上作二分,可以求得区间第k大值.4.差线段...原创 2019-07-12 20:09:42 · 296 阅读 · 0 评论 -
trie树初步
转载于https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html字典树自然也是起查找单词作用的。1、给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单词表中出现过。答:简单!map,短小精悍。好。下一个2、给出n个单词和m个询问,每次询问一个前缀,回答询问是多少个单词的前缀。答:map,把每个单词拆开。ju...原创 2019-07-16 19:39:41 · 106 阅读 · 0 评论 -
01trie树 初步
01字典树的实现可以看成是把一个数的二进制字符化后插入到一颗一般的字典树中贪心策略的证明: 如果这时我们进入了第K位为IDX 的节点 那么 第k位为IDX ^ 1 的节点组成的数 异或X一定更大通过上面的代码,我们可以发现有下面几个事实:01字典树是一棵最多 32层的二叉树,其每个节点的两条边分别表示二进制的某一位的值为 0 还是为 1的路径以上代码中,ch[i] 表示一个节点,c...原创 2019-07-16 20:24:18 · 2574 阅读 · 1 评论 -
牛客 A.Equivalent Prefixes(单调栈)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述Two arrays u and v each with m distinct elements are called equ...原创 2019-07-19 11:14:59 · 278 阅读 · 0 评论 -
「2019牛客多校第一场I」Points Division【线段树+dp】
链接:https://ac.nowcoder.com/acm/contest/881/I来源:牛客网很妙的线段树维护dp的题首先需要明确的是需要怎样将其划分为两个满足条件的集合,根据题意,可以知道可以用一个台阶将集合划分,如图然后就可以将每个点的y进行离散化,然后考虑将这些点优先按照x升序,然后y升序的规则排序,显然每经过一个点,它所带来的贡献需要修改的是一个区间,所以考虑线段树维护区...原创 2019-07-30 23:18:05 · 221 阅读 · 5 评论