题目大意
给你2n2n2n个长为mmm的字符串,由“A”,“T”,“G”,“C”组成,试求最短的区间使得前nnn串中的任意一串的该区间不在后nnn串的相应区间出现。n,m<=500n,m <= 500n,m<=500
分析
题目清晰,而且其实这道题的本质很像之前做过的一道名字叫泉的题目,同样是运用哈希前缀和。其实考场的时候想到了哈希前缀和,但是我不知道为什么总感觉哈希会挂就不敢打,还好暴力也有80pts80pts80pts。然后这题的思路其实很简单,就是先对每个串做一遍哈希前缀和,然后二分答案,然后在checkcheckcheck时,直接mnmnmn枚举,并用mapmapmap或setsetset协助判断前nnn个串指定位置的哈希值时候在后

这篇博客介绍了JZOJ 6635题目的解题过程,主要涉及USACO 2017 US Open Gold的Problem 1。题目要求寻找最短的字符串区间,确保前半部分字符串的任何子串不包含在后半部分对应位置的子串中。博主分析了问题本质,指出此题与哈希前缀和问题相似,并提供了使用哈希前缀和的解决方案,时间复杂度为O(nm log2 n)。博主提到在比赛中曾考虑过哈希但因担忧而未采用,最终通过暴力方法获得部分分数。
232

被折叠的 条评论
为什么被折叠?



