首页 > 代码库 > 才吉布提
才吉布提
C - String Reconstruction
我只服这个题原字符串的范围,刚开始没注意一直wa,以为代码写错,后来网上找了份代码对拍,发现数据范围写小了,ki最大取到1e6,加上字符串最大1e6,所以范围是2e6。
#include <bits/stdc++.h> using namespace std; const int maxn = 2e6+5; char s[maxn]; char init[maxn]; int main() { int n,k,pre,x; cin>>n; memset(init,0,sizeof(init)); int maxlen = 0; for(int i=1;i<=n;i++) { cin>>s>>k; int slen = strlen(s); pre = -1,x; int startpos = 0; for(int j=1;j<=k;j++) { cin>>x; startpos = max(pre+1,x); for(int p=startpos-x;p<slen;p++) { init[p+x] = s[p]; } pre = x+slen-1; } maxlen = max(maxlen,pre); } for(int i=1;i<=maxlen;i++) { if(init[i]==0) { init[i] = ‘a‘; } } cout<<init+1<<endl; return 0; }
才吉布提
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。