QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#794621#9799. Magical PaletteLumina (Yuchong Guo, Yikai Zhu, Jiyu Shen)#Compile Error//C++174.5kb2024-11-30 15:16:412024-11-30 15:16:42

Judging History

This is the latest submission verdict.

  • [2024-11-30 15:16:42]
  • Judged
  • [2024-11-30 15:16:41]
  • Submitted

answer

adads
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Rep(i,a,b) for(int i=(a);i>=(b);--i)
#define ll long long
#define ull unsigned long long
#define int long long
#define SZ(x) ((int)((x).size()))
#define ALL(x) (x).begin(),(x).end()
using namespace std;
inline int read()
{
	char c=getchar();int x=0;bool f=0;
	for(;!isdigit(c);c=getchar())f^=!(c^45);
	for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
	return f?-x:x;
}

#define mod 998244353
struct modint{
	unsigned int x;
	modint(int o=0){x=o;}
	modint &operator = (int o){return x=o,*this;}
	modint &operator +=(modint o){return x=x+o.x>=mod?x+o.x-mod:x+o.x,*this;}
	modint &operator -=(modint o){return x=x<o.x?x-o.x+mod:x-o.x,*this;}
	modint &operator *=(modint o){return x=1ll*x*o.x%mod,*this;}
	modint &operator ^=(int b){
		modint a=*this,c=1;
		for(;b;b>>=1,a*=a)if(b&1)c*=a;
		return x=c.x,*this;
	}
	modint &operator /=(modint o){return *this *=o^=mod-2;}
	friend modint operator +(modint a,modint b){return a+=b;}
	friend modint operator -(modint a,modint b){return a-=b;}
	friend modint operator *(modint a,modint b){return a*=b;}
	friend modint operator /(modint a,modint b){return a/=b;}
	friend modint operator ^(modint a,int b){return a^=b;}
	friend bool operator ==(modint a,modint b){return a.x==b.x;}
	friend bool operator !=(modint a,modint b){return a.x!=b.x;}
	bool operator ! () {return !x;}
	modint operator - () {return x?mod-x:0;}
	bool operator <(const modint&b)const{return x<b.x;}
};
inline modint qpow(modint x,int y){return x^y;}

vector<modint> fac,ifac,iv;
inline void initC(int n)
{
	if(iv.empty())fac=ifac=iv=vector<modint>(2,1);
	int m=iv.size(); ++n;
	if(m>=n)return;
	iv.resize(n),fac.resize(n),ifac.resize(n);
	For(i,m,n-1){
		iv[i]=iv[mod%i]*(mod-mod/i);
		fac[i]=fac[i-1]*i,ifac[i]=ifac[i-1]*iv[i];
	}
}
inline modint C(int n,int m){
	if(m<0||n<m)return 0;
	return initC(n),fac[n]*ifac[m]*ifac[n-m];
}
inline modint sign(int n){return (n&1)?(mod-1):(1);}


#define fi first
#define se second
#define pb push_back
#define mkp make_pair
typedef pair<int,ll>pii;
typedef vector<int>vi;

#define maxn 200005
#define inf 0x3f3f3f3f

int n;
vi e[maxn];

int dfn[maxn],idx,que[maxn],rt,fa[maxn],out[maxn];
void dfs1(int u,int pa){
    dfn[u]=++idx;
    fa[u]=pa;
    que[idx]=u;
   // cout<<"dfs1 "<<u<<" "<<pa<<"\n";
    for(int v:e[u]) if(v!=pa) dfs1(v,u);
    out[u]=idx;
}

#define N maxn*30
struct SEG{
    int rt[maxn];
    int ls[N],rs[N],sum[N],tot;
    void add(int &p,int l,int r,int x){
        if(!p)p=++tot;
        sum[p]++;
        if(l==r) return;
        int mid=l+r>>1;
        if(x<=mid)add(ls[p],l,mid,x);
        else add(rs[p],mid+1,r,x);
    }
    int ask(int p,int l,int r,int ql,int qr){
        if(!p || ql>qr) return 0;
        if(l>=ql&&r<=qr)return sum[p];
        int mid=l+r>>1,res=0;
        if(ql<=mid)res+=ask(ls[p],l,mid,ql,qr);
        if(qr>mid)res+=ask(rs[p],mid+1,r,ql,qr);
        return res;
    }
}T;

void dfs2(int u,int &cnt){
    for(int v:e[u]){
        if(v==fa[u])continue;
        cnt+=T.ask(T.rt[v+1],1,n,dfn[v],out[v]);
        dfs2(v,cnt);
    }
}

modint res1,res2;
void dfs3(int u,int now){
    res1+=qpow(2,now%(mod-1));
    for(int v:e[u]){
        if(v==fa[u])continue;
        int nxt=now;
        nxt+=T.ask(T.rt[v+1],1,n,dfn[rt],out[rt]);
        dfs3(v,nxt);
    }
}
void dfs4(int u,int now){
    int qnow=now+T.ask(T.rt[u],1,n,dfn[rt],out[rt]);
    res2+=qpow(2,qnow%(mod-1));
    for(int v:e[u]){
        if(v==fa[u])continue;
        int nxt=now;
        nxt+=T.ask(T.rt[u+1],1,n,dfn[rt],dfn[v]-1);
        nxt+=T.ask(T.rt[u+1],1,n,out[v]+1,out[rt]);
        nxt-=T.ask(T.rt[v+1],1,n,dfn[v],out[v]);
        dfs4(v,nxt);
    }
}

void work()
{
    cin>>n;
    For(i,2,n-1){
        int u,v;cin>>u>>v;
        e[u].pb(v),e[v].pb(u);
    }
    dfs1(1,0);
    For(i,1,n) if(!dfn[i]) {
        rt=i;
        dfs1(rt,0);
        break;
    }
   // cout<<"QWQ\n";
    Rep(i,n,1){
        T.rt[i]=T.rt[i+1];
        T.add(T.rt[i],1,n,dfn[i]);
    }
    int now1=0,now2=0;
    dfs2(1,now1);
    dfs2(rt,now2);
    cout<<"now "<<now1<<" "<<now2<<"\n";
    dfs3(1,now1);
    dfs4(rt,now2);
    modint res=res1*res2;
    cout<<"ans: "<<res1.x<<" "<<res2.x<<"\n";
    cout<<"qwq "<<out[1]<<"\n";
    if(out[1]==n-1) res+=qpow(2,now1);
    cout<<res.x<<"\n";
}

signed main()
{
    int T=1;
    while(T--)work();
    return 0;
}

Details

answer.code:1:1: error: ‘adads’ does not name a type
    1 | adads
      | ^~~~~
In file included from /usr/include/c++/13/bits/stl_algobase.h:62,
                 from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from answer.code:2:
/usr/include/c++/13/ext/type_traits.h:164:35: error: ‘constexpr const bool __gnu_cxx::__is_null_pointer’ redeclared as different kind of entity
  164 |   __is_null_pointer(std::nullptr_t)
      |                                   ^
/usr/include/c++/13/ext/type_traits.h:159:5: note: previous declaration ‘template<class _Type> constexpr bool __gnu_cxx::__is_null_pointer(_Type)’
  159 |     __is_null_pointer(_Type)
      |     ^~~~~~~~~~~~~~~~~
/usr/include/c++/13/ext/type_traits.h:164:26: error: ‘nullptr_t’ is not a member of ‘std’; did you mean ‘nullptr_t’?
  164 |   __is_null_pointer(std::nullptr_t)
      |                          ^~~~~~~~~
In file included from /usr/include/c++/13/cstddef:50,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:41:
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:443:29: note: ‘nullptr_t’ declared here
  443 |   typedef decltype(nullptr) nullptr_t;
      |                             ^~~~~~~~~
In file included from /usr/include/c++/13/bits/stl_pair.h:60,
                 from /usr/include/c++/13/bits/stl_algobase.h:64:
/usr/include/c++/13/type_traits:510:26: error: ‘std::size_t’ has not been declared
  510 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/type_traits:511:25: error: ‘_Size’ was not declared in this scope
  511 |     struct is_array<_Tp[_Size]>
      |                         ^~~~~
/usr/include/c++/13/type_traits:511:31: error: template argument 1 is invalid
  511 |     struct is_array<_Tp[_Size]>
      |                               ^
/usr/include/c++/13/type_traits:617:33: error: ‘nullptr_t’ is not a member of ‘std’; did you mean ‘nullptr_t’?
  617 |     struct is_null_pointer<std::nullptr_t>
      |                                 ^~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:443:29: note: ‘nullptr_t’ declared here
  443 |   typedef decltype(nullptr) nullptr_t;
      |                             ^~~~~~~~~
/usr/include/c++/13/type_traits:617:42: error: template argument 1 is invalid
  617 |     struct is_null_pointer<std::nullptr_t>
      |                                          ^
/usr/include/c++/13/type_traits:621:48: error: template argument 1 is invalid
  621 |     struct is_null_pointer<const std::nullptr_t>
      |                                                ^
/usr/include/c++/13/type_traits:625:51: error: template argument 1 is invalid
  625 |     struct is_null_pointer<volatile std::nullptr_t>
      |                                                   ^
/usr/include/c++/13/type_traits:629:57: error: template argument 1 is invalid
  629 |     struct is_null_pointer<const volatile std::nullptr_t>
      |                                                         ^
/usr/include/c++/13/type_traits:1348:37: error: ‘size_t’ is not a member of ‘std’; did you mean ‘size_t’?
 1348 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: ‘size_t’ declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/type_traits:1348:57: error: template argument 1 is invalid
 1348 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                                         ^
/usr/include/c++/13/type_traits:1348:57: note: invalid template non-type parameter
/usr/include/c++/13/type_traits:1357:37: error: ‘size_t’ is not a member of ‘std’; did you mean ‘size_t’?
 1357 |     : public integral_constant<std::size_t, 0> { };
      |                                     ^~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h:214:23: note: ‘size_t’ declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
/usr/include/c++/13/type_traits:1357:46: error: template argument 1 is invalid
 1357 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/13/type_traits:1357:46: note: invalid template non-type parameter
/usr/include/c++/13/type_traits:1359:26: error: ‘std::size_t’ has not been declared
 1359 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/13/type_traits:1360:21: error: ‘_Size’ was not declared in this scope
 1360 |     struct rank<_Tp[_Size]>
      |                     ^~~~~
/usr/include/c++/13/type_traits:1360:27: error: template argument 1 is invalid
 1360 |     struct rank<_Tp[_Size]>
      |                           ^
/usr/include/c++/13/type_traits:1361:37: error: ‘size_t’ is not a member of ‘std’; did you mean ‘size_t’?
...