提交记录 3884


用户 题目 状态 得分 用时 内存 语言 代码长度
ytx noi18c. 【NOI2018】你的名字 Wrong Answer 0 525.242 ms 69860 KB C++ 1.25 KB
提交时间 评测时间
2018-07-18 19:33:19 2020-07-31 21:57:42
#include<iostream>
#include<cstdio>
#include<cstring>

char S[600000],T[600000];
int n,l,r;
bool Hash1[20000000],Hash2[20000000],Hash3[20000000];

struct Trie{
	int son[100000][26],tot;
	void add_string(char *str){
		int now=1;
		int len=strlen(str);
		for (int i=0;i<len;i++){
			int s=str[i]-'a';
			if (!son[now][s]) son[now][s]=++tot;
			now=son[now][s];
		}
	}
	int query_string(char *str){
		int now=1,ans=0;
		long long hash1=1,hash2=1,hash3=1;
		int len=strlen(str);
		for (int i=0;i<len;i++){
			int s=str[i]-'a';
			hash1=(long long)(hash1+s)*65432101%18932443;
			hash2=(long long)(hash2+s)*35433131%19972681;
			hash3=(long long)(hash3+s)*21937195%16781639;
			if (son[now][s]) ans++;
			if (!son[now][s]&&Hash1[hash1]&&Hash2[hash2]&Hash3[hash3]) ans++;
			Hash1[hash1]=Hash2[hash2]=Hash3[hash3]=true;
			now=son[now][s];
		}
		return ans;
	}
}Tree;

int main(){
	scanf("%s",S);int Slen=strlen(S);
	for (int i=0;i<Slen;i++) Tree.add_string(S+i);
	Tree.tot=1; 
	scanf("%d",&n);
	for (int i=1;i<=n;i++){
		scanf("%s%d%d",T,&l,&r);
		int Tlen=strlen(T);
		int Ans=0;
		memset(Hash1,0,sizeof(Hash1));
		memset(Hash2,0,sizeof(Hash2));
		memset(Hash3,0,sizeof(Hash3));
		for (int j=0;j<Tlen;j++)
			Ans+=Tree.query_string(T+j);
		printf("%d\n",(1+Tlen)*Tlen/2-Ans);
	}
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1525.242 ms58 MB + 572 KBWrong AnswerScore: 0

Testcase #262.804 ms67 MB + 184 KBRuntime ErrorScore: 0

Testcase #396.1 ms67 MB + 184 KBRuntime ErrorScore: 0

Testcase #416.832 ms67 MB + 184 KBRuntime ErrorScore: 0

Testcase #517.61 ms67 MB + 184 KBRuntime ErrorScore: 0

Testcase #617.06 ms68 MB + 228 KBRuntime ErrorScore: 0

Testcase #717.099 ms68 MB + 228 KBRuntime ErrorScore: 0

Testcase #811.891 ms67 MB + 860 KBRuntime ErrorScore: 0

Testcase #911.947 ms67 MB + 860 KBRuntime ErrorScore: 0

Testcase #1013.185 ms67 MB + 960 KBRuntime ErrorScore: 0

Testcase #1113.282 ms67 MB + 960 KBRuntime ErrorScore: 0

Testcase #1214.394 ms68 MB + 32 KBRuntime ErrorScore: 0

Testcase #1314.577 ms68 MB + 32 KBRuntime ErrorScore: 0

Testcase #1412.511 ms68 MB + 128 KBRuntime ErrorScore: 0

Testcase #1515.831 ms68 MB + 128 KBRuntime ErrorScore: 0

Testcase #1616.773 ms68 MB + 228 KBRuntime ErrorScore: 0

Testcase #1717.052 ms68 MB + 228 KBRuntime ErrorScore: 0

Testcase #1815.24 ms67 MB + 960 KBRuntime ErrorScore: 0

Testcase #1914.407 ms68 MB + 32 KBRuntime ErrorScore: 0

Testcase #2015.591 ms68 MB + 128 KBRuntime ErrorScore: 0

Testcase #2116.756 ms68 MB + 228 KBRuntime ErrorScore: 0

Testcase #2216.771 ms68 MB + 228 KBRuntime ErrorScore: 0

Testcase #2321.67 ms68 MB + 228 KBRuntime ErrorScore: 0

Testcase #2416.765 ms68 MB + 228 KBRuntime ErrorScore: 0

Testcase #2512.758 ms68 MB + 228 KBRuntime ErrorScore: 0


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