首页 > 白兔的字符串
头像 回归梦想
发表于 2020-10-10 11:57:46
链接:@[toc] 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 白兔有一个字符串T。白云有若干个字符串S1,S2..Sn。 白兔想知道,对于白云的每一个字符串,它有多少个子串是和T循环 展开全文
头像 whix
发表于 2020-08-17 21:55:44
关键在于选取合适的 和 ,试了好多数最后才对。 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e6+6; char t[N],s[N]; const int mod=2 展开全文
头像 一条小只因
发表于 2023-08-14 19:18:13
注意到T的循环同构的字串有 个,因此把这部分存起来,对于每一个 , 枚举所有的字串,判断即可. 如何计算与 循环同构的字符串的 值: 不妨假设原串为: 把 删除: 整体左移1位: 移动到末尾: AC 代码 using ULL = unsigned long long; void so 展开全文
头像 一码归曦
发表于 2023-11-10 12:10:19
#include <bits/stdc++.h> using namespace std; #define ULL unsigned long long #define P 131 const int N = 1e6 + 10; ULL h[N], p[N]; char s[2 * 展开全文
头像 汪汪小乌拉
发表于 2024-04-18 23:17:41
Java版看这里 已知目标串为str,需要再strs里面遍历寻找每一个母串所含有的子串的循环同构的串,那针对已知的子串,可以预处理得到所有目标子串,我们再将所有目标串放入Set中,方便后续判断。 具体做法为: 如果有一个串为:abcd 那么其循环同构的串即为 abcd + abc = abcdabc 展开全文