POJ 1523
http://poj.org/problem?id=1523
vector真是个好东西
可以非常方便地实现块状链表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include<cstdio> #include<vector> #include<math.h> #include<cstring> #include<iostream> #define FOR(i,s,t) for(register int i=s;i<=t;++i) const int N=1000011; std::vector< char >v[1011]; char S[N],Q[5],A[5]; int len,blo,t,k,las,n; int main(){ gets(S+1); len=strlen(S+1); blo=( int )(sqrt(1.00*len)); FOR(i,1,len)v[(i-1)/blo+1].push_back(S[i]); v[(len-1)/blo+1].push_back( 'a' ); scanf( "%d" ,&n); FOR(i,1,n){ scanf( "%s" ,Q); if (Q[0]== 'Q' ){ scanf( "%d" ,&k);--k; for (t=1;k>=v[t].size();++t)k-=v[t].size(); printf( "%c\n" ,v[t][k]); } else { scanf( "%s%d" ,A,&k);--k; for (t=1;k>=v[t].size();++t)k-=v[t].size(); v[t].insert(v[t].begin()+k,A[0]); } } return 0; } |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步