splay全部RE,求助

P3391 【模板】文艺平衡树

滑大稽 @ 2020-02-28 16:18:16

本蒟蒻本地测试无任何异常,可提交上去一片紫色。望各位大佬帮本蒟蒻看下那里有问题

代码有点丑,凑合着看

#include<iostream>
#include<cstdio>
#define N 1000005
using namespace std;
struct nood{
    int f,c[2],v,s,l;
}q[N];
int g,s,n;
inline int r()
{
    char h=getchar();
    int y=0,q=1;
    while(h<'0'||h>'9'){if(h=='-')q=-1;h=getchar();}
    while(h>='0'&&h<='9'){y=y*10+h-'0';h=getchar();}
    return y*q;
}
int gx(int x)
{
    q[x].s=q[q[x].c[0]].s+q[q[x].c[1]].s+1;
}
void xz(int x)
{
    int y=q[x].f,z=q[y].f,k=q[y].c[1]==x;
    q[z].c[q[z].c[1]==y]=x;
    q[x].f=z;
    q[y].c[k]=q[x].c[k^1];
    q[q[x].c[k^1]].f=y;
    q[x].c[k^1]=y;
    q[y].f=x;
    gx(y);
    gx(x);
}
void splay(int x,int m)
{
    while(q[x].f!=m)
    {
        int y=q[x].f,z=q[y].f;
        if(z!=m)
        {
            if((q[z].c[1]==y)==(q[y].c[1]==x))xz(y);
            else xz(x);
        }
        xz(x);
    }
    if(m==0)g=x;
}
void xc(int x)
{
    if(!q[x].l)return;
    q[q[x].c[0]].l^=1;
    q[q[x].c[1]].l^=1;
    swap(q[x].c[0],q[x].c[1]);
    q[x].l=0;
}
void jr(int v)
{
    int x=g,f=0;
    while(x)f=x,x=q[x].c[v>q[x].v];
    q[++s]=nood{f,{0,0},v,1,0};
    if(f)q[f].c[v>q[f].v]=s;
    splay(s,0);
}
int cx(int v)
{
    int x=g;
    while(1)
    {
        xc(x);
        int z=q[x].c[0];
        if(v>1+q[z].s)
        {
            v-=1+q[z].s;
            x=q[x].c[1];
        }
        else
        {
            if(v>q[z].s)return x;
            x=z;
        }
    }
}
void fz(int x,int y)
{
    int l=cx(x),r=cx(y+2);
    splay(l,0);
    splay(r,l);
    q[q[q[g].c[1]].c[0]].l^=1;
}
void sc(int x)
{
    xc(x); 
    if(q[x].c[0])sc(q[x].c[0]);
    if(q[x].v>1&&q[x].v<n+2)cout<<q[x].v-1<<" ";
    if(q[x].c[1])sc(q[x].c[1]);
}
int main()
{
    //freopen("P3391_1.in","r",stdin);
    n=r();
    int m=r();
    for(int i=1;i<=n+2;i++)jr(i);
    for(int i=1;i<=m;i++)
    {
        int x=r(),y=r();
        fz(x,y);
    }
    sc(g);
}

万分感谢各位大佬


by memsetst @ 2020-02-28 16:46:00

我谔谔


by lxy__ @ 2020-02-28 17:01:49

如果有int类型函数没有return会导致全部RE


by lxy__ @ 2020-02-28 17:02:16

我是这样的


by 滑大稽 @ 2020-02-28 17:08:03

A了,谢谢da_lao @b612


|