fulinran2026 @ 2024-05-02 15:24:26
事情是这样的,本地爆栈了,调试都调试不了的那种,但是试着交了一下直接过了
所以有大佬知道为什么吗/kk
贴code
#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int N=3e6+5;
int T,n,q;
int cnt,ans;
struct mm
{
int tag,ch[80];
}t[N];
void insert(char s[])
{
int rt=0,n=strlen(s);
for(int i=0;i<n;i++)
{
int y=s[i]-'0';
if(t[rt].ch[y]==0)
t[rt].ch[y]=++cnt;
rt=t[rt].ch[y];
t[rt].tag++;
}
}
int query(char s[])
{
int rt=0,n=strlen(s);
for(int i=0;i<n;i++)
{
int y=s[i]-'0';
if(t[rt].ch[y]==0) return 0;
rt=t[rt].ch[y];
}
return t[rt].tag;
}
int main()
{
scanf("%d",&T);
while(T--)
{
for(int i=0;i<=cnt;i++)
{
for(int j=0;j<=80;j++)
t[i].ch[j]=0;
t[i].tag=0;
}
cnt=0; ans=0;
scanf("%d%d",&n,&q);
for(int i=1;i<=n;i++)
{
char a[N];
scanf("%s",a);
insert(a);
}
for(int i=1;i<=q;i++)
{
char a[N];
scanf("%s",a);
printf("%d\n",query(a));
}
}
return 0;
}
//
by QWQ_123 @ 2024-05-02 15:34:53
@fulinran2026
for(int i=1;i<=n;i++)
{
char a[N];
scanf("%s",a);
insert(a);
}
这么幽默。
by fulinran2026 @ 2024-05-02 15:47:04
@QWQ_123 大佬,这段代码有什么问题?
求捞捞
by xsmfollower @ 2024-05-02 15:49:45
@fulinran2026 bushi,开个大小是 3e6+5 的局部数组是啥意思(
by sandwich03 @ 2024-05-02 15:52:45
10的5次方,666
by fulinran2026 @ 2024-05-02 15:57:55
@xsmfollower 啊,这样啊(对不起是我脑子不好使/kk)
你谷这么宽容?
by xsmfollower @ 2024-05-02 16:16:04
@fulinran2026 “你谷这么宽容”是啥意思
另外我记得我好像在某本书上看到说
验证码 wc2e 祭
by diqiuyi @ 2024-05-02 16:16:26
@fulinran2026 洛谷是不是只算用到了的空间来着
by fulinran2026 @ 2024-05-02 16:29:48
@xsmfollower 我说“你谷这么宽容”因为洛谷让我
但这个代码明显是有大问题的
by fulinran2026 @ 2024-05-02 16:38:21
@diqiuyi 这样啊,难怪了
by fulinran2026 @ 2024-05-02 16:42:58
此帖结
楼主太智了,不知道