题目描述
include [HTML_REMOVED]
using namespace std;
const int N=100005;
int ne[N], idx, s[N], head;
void init()
{
head=-1;
idx=0;
}
void head_insert(int x)
{
s[idx]=x;
ne[idx]=head;
head=idx;
idx;
return;
}
void insert(int k, int x)
{
s[idx]=x;
ne[idx]=ne[k];
ne[k]=idx;
idx;
return;
}
void del(int k)
{
ne[k]=ne[ne[k]];
return;
}
int main()
{
head=-1;
idx=0;
int n;
cin >> n;
while(n–)
{
char c;
cin >> c;
if(c==’H’)
{
int x;
scanf(“%d”, &x);
head_insert(x);
}
if(c==’D’)
{
int k;
scanf(“%d”, &k);
if(!k) head=ne[head];
del(k-1);
}
if(c==’I’)
{
int k, x;
scanf(“%d%d”, &k, &x);
insert(k-1, x);
}
}
for(int i=head;i!=-1;i=ne[i])
cout<<s[i]<<” “;
return 0;
}
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla