摘要: 题意:给出26个字母对应的映射关系,然后给出一行string 其中有密文也有明文,明文部分是不完整的 ,输出可能组成的最短明文思路:先将(假设整个子串为)暗文全部翻译成明文,然后将翻译后的子串与原串相连接,去匹配最长公共前后缀,这是一种思路(但是会超时) 所以换一种思路:我们知道密文的长度至少为n/ 阅读全文
posted @ 2019-07-26 11:00 Tianwell 阅读(159) 评论(0) 推荐(0)
摘要: 题意:给t个例子,n个值,m个寻问,每次对区间(l,r)进行修改 ,只能将其修改为1,2,3中的一种 思路:对于线段树 区间直接修改 与 区间每项相加 之间是有一些差别的,要理解透 push_down与lazy tag的意义 完整代码: 阅读全文
posted @ 2019-07-25 17:53 Tianwell 阅读(193) 评论(0) 推荐(0)
摘要: 题意: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)
摘要: 题意:给出一个n x m的矩阵然后矩阵下标(i,j)异或值越大的其单元的值越大, 所有存储的值范围为(1~n m)不重复,问某个矩阵有多少组合形式 思路:如果不考虑其他的方法,单从最简单的方向来看就是打表 完整代码: 阅读全文
posted @ 2019-07-23 12:37 Tianwell 阅读(131) 评论(0) 推荐(0)
摘要: 题意:就是给出n点m边,输出排序使并且输出的字典序最小 (注意是这里是输出的序号而不是值). 思路:这类对于拓扑排序字典序最小的问题使用逆向拓扑排序。 完整代码: 阅读全文
posted @ 2019-07-23 11:50 Tianwell 阅读(166) 评论(0) 推荐(0)
摘要: 题意:给出字符串长度n,和两个字符串,输出不大于字符串s不小于字符串t的集合的最中间字符串(类似中位数那种)。 思路:我先尝试在想是否是 集合个数除以2 然后加到最小的字符串上去(中位数思想),然后又在找两个字符串中间个数的时发现 集合个数为 (26-'a')*(26-"b)...这种形式 ,所以估 阅读全文
posted @ 2019-07-23 09:53 Tianwell 阅读(148) 评论(0) 推荐(0)