首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
stammering专题
poj 3882(Stammering Aliens) 后缀数组 或者 hash
后缀数组: 构建后缀数组,注意要在字符串莫末尾加上一个没出现过的字符。然后可以2分或者直接扫描,直接扫描需要用单调队列来维护 VIEW CODE #include<cstdio>#include<algorithm>#include<iostream>#include<cmath>#include<queue>#include<stack>#include<string
阅读更多...
UVA - 12206 Stammering Aliens (hash)
这题其实很容易想到2分长度,关键是2分后,怎么判断出现最多次的串是否》=m次了。这里需要用到hash来处理。 对于一个字符串 H[i] =H[i+1]*131+s[i] ;其中 H[n]=0;那么对于一个长度为L的串 ,hanh[i,l]=H[i]-H[i+L]*x^L ; 这样记录每个字符串的hash值,然后再处理起来就比较简单了。 VIEW CODE #include<
阅读更多...
UVALive 4513 Stammering Aliens (hash+二分 or 后缀数组)
大白书上的一道例题,后缀数组的模板题吧,今天想练练hash,结果就wa+Tle了一脸。 还真没见过不卡自然取模,而卡自行取模的题,今天算是见到了。。取了好几个x,还是发生了碰撞?! 题意: 让你根据所给字符串,找出至少出现m次的最长字符串,输出最长的长度和起始位置的最大值。 思路: 字符串hash+二分。(等学会了后缀数组再来套下模板) 二分len,然后判断长度是否合法。 判断
阅读更多...