提交记录 3787


用户 题目 状态 得分 用时 内存 语言 代码长度
mjt noi18c. 【NOI2018】你的名字 Wrong Answer 0 4 s 313228 KB C++ 1.33 KB
提交时间 评测时间
2018-07-18 17:36:56 2020-07-31 21:39:35
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cctype>
#include<vector>
#include<map>
#include<queue>
using namespace std;
typedef long long LL;
typedef unsigned long long uLL;

inline int read() {
    int x=0,f=1;char ch=getchar();for(;!isdigit(ch);ch=getchar())if(ch=='-')f=-1;
    for (;isdigit(ch);ch=getchar())x=x*10+ch-'0';return x*f;
}

const int N = 500010;
const int Base = 31;

char s[N],t[N];
uLL f[N],H[N];
map<uLL,bool>p;

uLL get1(int i,int j) {
	uLL ans = 0;
	ans = H[j] - H[i-1] * f[j-i+1];
	return ans;
}

void solve1(int len) {
	f[0] = 1;
	for (int i=1; i<=len; ++i) f[i] = f[i-1] * Base;
	for (int i=1; i<=len; ++i) H[i] = H[i-1] * Base + s[i] - 'a' + 1;
	for (int i=1; i<=len; ++i) 
		for (int j=i; j<=len; ++j) {
			uLL a = get1(i,j);
			p[get1(i,j)] = true;
		}

	int Q = read(),Ans = 0,l,r;
	while (Q--) {
		Ans = 0; 
		scanf("%s",t+1);
		scanf("%d%d",&l,&r);
		len = strlen(t+1);
		for (int i=1; i<=len; ++i) H[i] = H[i-1] * Base + t[i] - 'a' + 1;
		for (int i=1; i<=len; ++i) 
			for (int j=i; j<=len; ++j) {
				uLL a = get1(i,j);
				if (p[get1(i,j)] == 1) continue;
				else {Ans += (len - j + 1);break;}
			}
		printf("%d\n",Ans);
	}
}
int main() {
	

	
	scanf("%s",s+1);
	int len = strlen(s+1);
	solve1(len);
	return 0;
}
/*
cbamge
1
smape 1 6

bamgep
1
sbape 1 6

scbamgepe
2
sgepe 1 9
sgepe 1 9
*/

CompilationN/AN/ACompile OKScore: N/A

Testcase #110.694 ms1 MB + 252 KBWrong AnswerScore: 0

Testcase #2260.875 ms29 MB + 460 KBWrong AnswerScore: 0

Testcase #3260.728 ms29 MB + 408 KBWrong AnswerScore: 0

Testcase #4450.989 ms30 MB + 716 KBWrong AnswerScore: 0

Testcase #5419.684 ms28 MB + 612 KBWrong AnswerScore: 0

Testcase #64 s305 MB + 416 KBTime Limit ExceededScore: 0

Testcase #74 s305 MB + 256 KBTime Limit ExceededScore: 0

Testcase #84 s298 MB + 924 KBTime Limit ExceededScore: 0

Testcase #94 s299 MB + 176 KBTime Limit ExceededScore: 0

Testcase #104 s300 MB + 744 KBTime Limit ExceededScore: 0

Testcase #114 s300 MB + 764 KBTime Limit ExceededScore: 0

Testcase #124 s301 MB + 932 KBTime Limit ExceededScore: 0

Testcase #134 s302 MB + 672 KBTime Limit ExceededScore: 0

Testcase #144 s303 MB + 968 KBTime Limit ExceededScore: 0

Testcase #154 s303 MB + 936 KBTime Limit ExceededScore: 0

Testcase #164 s305 MB + 444 KBTime Limit ExceededScore: 0

Testcase #174 s305 MB + 908 KBTime Limit ExceededScore: 0

Testcase #184 s300 MB + 780 KBTime Limit ExceededScore: 0

Testcase #194 s302 MB + 240 KBTime Limit ExceededScore: 0

Testcase #204 s303 MB + 600 KBTime Limit ExceededScore: 0

Testcase #214 s305 MB + 396 KBTime Limit ExceededScore: 0

Testcase #224 s305 MB + 384 KBTime Limit ExceededScore: 0

Testcase #234 s305 MB + 192 KBTime Limit ExceededScore: 0

Testcase #244 s305 MB + 140 KBTime Limit ExceededScore: 0

Testcase #254 s305 MB + 480 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-17 23:32:18 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠