社区讨论
求数据
P14363[CSP-S 2025] 谐音替换参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi4k4sc9
- 此快照首次捕获于
- 2025/11/18 20:36 4 个月前
- 此快照最后确认于
- 2025/11/20 04:04 4 个月前
本人考场上试图写性质B跑路,结果25分只拿了5分,9,10,15,16都TLE
听说CCF刻意卡的这个性质
求CCF这几个点的数据(或者可以描述一下什么样的数据可以卡掉我写的性质代码)
我的代码如下(只写了性质B):
CPP#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std;
int n,q;
vector<pair<int,int>> d[5000000];
int main(){
//freopen("replace4.in","r",stdin);
// freopen("replace4.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>q;
for(int i=1;i<=n;i++){
string str1,str2;
cin>>str1>>str2;
int pos1,pos2,len;
pos1=str1.find('b');
pos2=str2.find('b');
len=str1.size();
d[pos2-pos1+2500000].push_back(make_pair(pos1,len-pos2+1));
}
for(int i=1;i<=q;i++){
string str1,str2;
cin>>str1>>str2;
if(str1.size()!=str2.size()){
cout<<0<<endl;
continue;
}
int pos1,pos2,ans=0;
pos1=str1.find('b');
pos2=str2.find('b');
int l2=str1.size()-pos2+1;
int t=pos2-pos1+2500000;
for(auto j:d[t]){
if(j.first<=pos1&&j.second<=l2)ans++;
}
cout<<ans<<endl;
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...