摘要: 题意:T个问题,m为字符串长度,然后输出匹配所有前缀串出现个数之和,其中 mod为 10007 思路:一开始可以想到利用kmp匹配统计子字符串出现次数的模板 (用一个for循环来一个一个匹配)但是字符串长度为(1 <= n <= 200000) 所以for下去肯定会超时,所以我们尝试用dp解决(记录 阅读全文
posted @ 2019-07-24 21:12 Tianwell 阅读(230) 评论(0) 推荐(0)
摘要: 题意:给出两个字符串a,b然后 a前缀与b后缀的最长公共部分 并输出 长度。 思路:我们知道next[]数组就是求 某个字符串的最长公共前后缀的,所以就会想到把a,b两个串相连 ,然后再来整体求next[]数组 .当然还要注意下 得到的 长度不能超过 a,b 串本身. 其他:关于字符串输入的问题,加 阅读全文
posted @ 2019-07-24 20:15 Tianwell 阅读(173) 评论(0) 推荐(0)
摘要: 这里有一篇写的很好的博客: https://pks-loving.blog.luogu.org/senior-data-structure-qian-tan-xian-duan-shu-segment-tree 在完成kuangbin线段树专题前面两个比较简单的结点修改后,这道题就是一道很标准的线段 阅读全文
posted @ 2019-07-24 16:46 Tianwell 阅读(142) 评论(0) 推荐(0)
摘要: 题意:给出N个数,并且有修改第i个数的值,和查询在某个区间的最大值 思路:使用线段树来记录区间的最值,此题还是仅仅对叶子结点的修改,所以即 在HDU-1166 上把 update 和 query 函数进行略微修改即可。 完整代码: 阅读全文
posted @ 2019-07-24 16:16 Tianwell 阅读(177) 评论(0) 推荐(0)
摘要: 题意:给N个数,然后给出N个数对应的数值,然后对叶子结点进行add,sub,query操作 输入end时即寻问结束 思路:对于RMQ问题当然使用线段树比较方便,同时这道题也是最简单的线段树(因为只对叶子结点进行修改,而没有对区间进行修改)对结点进行sub(减)操作即使 加入一个相反数 然后这道题主要 阅读全文
posted @ 2019-07-24 11:26 Tianwell 阅读(171) 评论(0) 推荐(0)