字符串
我的妹妹syf
我的妹妹不可能那么胖
展开
-
Codeforces Round #423 (Div. 1, rated, based on VK Cup Finals) A 题目忘了
题目大意:反正就是字符串覆盖,但是已经被覆盖了就不会再被覆盖了,问最终的字符串。非常显然可以用链表/并查集/线段树做。这是比较显然的做法。这里我用优先队列做了一发,效果还不错。首先需要了解堆的删除操作和离线区间加。那么我就用离线区间加的思想,开一个vector,在开始位置加入插入节点,在结束位置加入删除节点。由于修改是有顺序的,那么可以通过调用优先队列的队头来用最早的字符串覆盖。做法非原创 2017-07-13 11:20:56 · 379 阅读 · 0 评论 -
codeforces 444D DZY Loves Strings
似乎还没有靠谱的题解嘛。。。我来写一发。首先我们发现,每个询问都很短,最长只有四。27^4=531441,所以显然可以把这个字符串hash一下,把出现的所有位置存下来,直接丢到vector里。由于是从头到尾扫一遍,所以vector里面的元素已经是有序的了。然后我们发现有这样一个特点:如果询问的两个字符串出现次数都不超过根号|S|,我们可以直接利用单调性扫过去,枚举A的出现位置,每次找到离它原创 2017-07-06 09:25:55 · 367 阅读 · 0 评论 -
Codeforces Round #124 (Div. 1) D. The Next Good String
#include#define N 400100using namespace std;typedef unsigned long long ULL;const ULL MOD=29;ULL cf[N],a[N];int n,m;char s[N];inline void ex(){ puts("Impossible"); exit(0);}ULL h[N];void d原创 2017-10-04 14:22:17 · 297 阅读 · 0 评论