QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#794621 | #9799. Magical Palette | Lumina (Yuchong Guo, Yikai Zhu, Jiyu Shen)# | Compile Error | / | / | C++17 | 4.5kb | 2024-11-30 15:16:41 | 2024-11-30 15:16:42 |
Judging History
This is the latest submission verdict.
- [2024-11-30 15:16:42]
- Judged
- Verdict: Compile Error
- Time: 0ms
- Memory: 0kb
- [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’? ...