QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#735274 | #7780. Dark LaTeX vs. Light LaTeX | HNO3il | ML | 15ms | 302884kb | C++14 | 1.6kb | 2024-11-11 18:53:11 | 2024-11-11 18:53:11 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define db double
#define endl '\n'
#define lowbit(x) x&-x
#define intz(x,a) memset(x,a,sizeof(x));
const int N=5e3+5;
int lcp[N][N],lens,lent,dp[N][N],cnt[N][N],ct[N][N];long long sum[N][N];char s[N],t[N];
signed main(){
// freopen("tst.out","r",stdin);
scanf("%s%s",s+1,t+1);lens=strlen(s+1),lent=strlen(t+1);
for(int j=lent;j;j--)
for(int i=lens;i;i--)dp[i][j]=(s[i]==t[j]?dp[i+1][j+1]+1:0),cnt[i][dp[i][j]]++;
for(int j=1;j<=lens;j++){
for(int i=lens-j+1;i;i--)cnt[j][i]+=cnt[j][i+1];
for(int i=j;i<=lens;i++)ct[j][i]=cnt[j][i-j+1];
}
for(int j=lens;j;j--)
for(int i=j;i;i--)lcp[i][j]=(s[i]==s[j]?lcp[i+1][j+1]+1:0);
for(int i=lens;i;i--)
for(int j=i;j;j--)sum[i][j]=sum[i][j+1]+ct[j][i];
long long ans=0;
for(int i=1;i<=lens;i++)
for(int j=i+1;j<=lens;j++){int len=lcp[i][j];ans+=sum[j-1][i+1]-sum[j-1][min(i+len,j-1)+1];}
swap(lens,lent);swap(s,t);intz(lcp,0);intz(cnt,0);intz(dp,0);
for(int j=lent;j;j--)
for(int i=lens;i;i--)dp[i][j]=(s[i]==t[j]?dp[i+1][j+1]+1:0),cnt[i][dp[i][j]]++;
for(int j=1;j<=lens;j++){
for(int i=lens-j+1;i;i--)cnt[j][i]+=cnt[j][i+1];
for(int i=j;i<=lens;i++)ct[j][i]=cnt[j][i-j+1];
}
for(int j=lens;j;j--)
for(int i=j;i;i--)lcp[i][j]=(s[i]==s[j]?lcp[i+1][j+1]+1:0);
for(int i=lens;i;i--)
for(int j=i;j;j--)sum[i][j]=sum[i][j+1]+ct[j][i];
for(int i=1;i<=lens;i++)
for(int j=i+1;j<=lens;j++){int len=lcp[i][j];ans+=sum[j-1][i+1]-sum[j-1][min(i+len,j-1)+1];}
for(int i=1;i<=lens;i++)
for(int j=i+1;j<=lens+1;j++)ans+=ct[i][j-1];
cout<<ans;
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 15ms
memory: 299496kb
input:
abab ab
output:
8
result:
ok 1 number(s): "8"
Test #2:
score: 0
Accepted
time: 8ms
memory: 299460kb
input:
abab abaaab
output:
29
result:
ok 1 number(s): "29"
Test #3:
score: 0
Accepted
time: 8ms
memory: 302884kb
input:
abcd abcde
output:
10
result:
ok 1 number(s): "10"
Test #4:
score: 0
Accepted
time: 4ms
memory: 300164kb
input:
aaba ba
output:
6
result:
ok 1 number(s): "6"
Test #5:
score: 0
Accepted
time: 7ms
memory: 302704kb
input:
babababaaabbaabababbbaabbbababbaaaaa aaaabbaababbab
output:
1161
result:
ok 1 number(s): "1161"
Test #6:
score: -100
Memory Limit Exceeded
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
78156256250000