目录
Boring data structure problem
题意:
给出四种操作,L,R,Q,G,L是在队列左边插入一个数,R是在队列右边插入一个数,Q是询问队列中的
中位数((m+1)/2),G是给出一个数x,删除数值为X的数:插入的数是从1到n进行插入,无重复
思路:
用数组模拟链表功能,用结构体分别把每个节点的左节点和右节点存储,然后再开
一个数组来记录插入数值的位置,结构体空间不能开双倍(会爆内存),所以要增
加偏移量。
代码:
#include <bits/stdc++.h>
using namespace std;
const int N = 10000010;
const int inf=1e9;
typedef long long LL;
struct node
{
int data,left,right;
int sign;
} s[N];
int id[N];
int p=1e7+1;
char a[5];
int main()
{
//freopen("C:\\Users\\86132\\Desktop\\datain.txt"