上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 给一个长为n的字符串,m次询问,每次求子串[l,r]第k次出现的起点位置 做法: 数据量很大,输入的字符串/询问总量可以达到1e5*5,必须尽量实现单次$O(logn)$的查询和至多$O(nlogn)$的预处理 1.子串[l,r]一定是某个后缀的前缀,而"后缀的前缀的重复出现"这个问题可以很容易想到 阅读全文
posted @ 2019-08-31 01:43 nervending 阅读(387) 评论(0) 推荐(0) 编辑
摘要: hihocoder 1403: 求一个字符串中至少出现了K次的最长可重叠子串 做法:预处理出height,每次用单调队列线性求区间最小值即可 hihocoder1407: 求字符串中最长的至少不重叠地出现了2次的子串 做法:预处理出height,二分答案,每次检查每一个连续的height<mid的区 阅读全文
posted @ 2019-08-31 01:28 nervending 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 利用RMQ求子串lcp的基础题,这个板子是我之前的,比较蠢的一种实现 后面试试用最新的板子AC一下 阅读全文
posted @ 2019-08-31 01:13 nervending 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 就是简单的记录一下代码,前几天写后缀数组+单调栈/单调队列写的有点傻.... 首先是hdu1506单调栈: 然后是p1440 阅读全文
posted @ 2019-08-31 01:10 nervending 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 1.不能以某些位置结尾=不能以某些位置开头,于是倒转字符串 2.不考虑禁止的情况,则题目转化为height数组上求最大矩形,进行两次单调栈即可 3.考虑禁止的情况,实际上就等于计算次数的时候,减少合法区间内的1的个数 嗯,顺便存一下最终的fastio和后缀数组板子,以后应该不会再换了 阅读全文
posted @ 2019-08-31 00:49 nervending 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 把a,b合并起来跑一遍就行 记录一下板子 阅读全文
posted @ 2019-08-29 17:44 nervending 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 先存一下几个较难题的AC代码: 1002: 1003: 1005: 1008: 阅读全文
posted @ 2019-08-23 23:59 nervending 阅读(350) 评论(0) 推荐(0) 编辑
摘要: https://codeforces.com/contest/316/problem/G2 给定一个母串$s$,问母串$s$有多少本质不同的子串$t$是“好”的。 一个字符串$t$是好的,仅当$t$满足了所有的$n$个条件。 第$i$个条件用一个三元组$(p_i,L_i,R_i)$来描述。 其中$p 阅读全文
posted @ 2019-08-15 16:49 nervending 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 8.19/8/21 [4/4] A.模拟 B.贪心 C.贪心第一个>=5的,模拟 E.线段树维护矩阵快速幂结果,每个节点保存一个2x2的递推矩阵,利用矩阵乘法结合律a*b+a*c=a*(b+c)区间维护 #include<bits/stdc++.h> #define ll long long #de 阅读全文
posted @ 2019-08-07 22:09 nervending 阅读(177) 评论(0) 推荐(0) 编辑
摘要: n个字符串 m次询问, 每次询问,想知道是否在n个字符串中存在一个恰好有一个位置不同的字符串 做法: 1.字符串哈希,如果单纯用ull自然溢出,会被卡碰撞,然后wa27,需要自定义一个模数 2.字典树上dfs一下就行,注意剪枝 阅读全文
posted @ 2019-08-06 16:53 nervending 阅读(295) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页