QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#697819#9530. A Game On Treejimmyywang#WA 2ms11204kbC++141.4kb2024-11-01 15:53:442024-11-01 15:53:45

Judging History

This is the latest submission verdict.

  • [2024-11-01 15:53:45]
  • Judged
  • Verdict: WA
  • Time: 2ms
  • Memory: 11204kb
  • [2024-11-01 15:53:44]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define f(i,a,b) for(ll i=a;i<=b;i++)
ll rd(){
    ll x=0,f=1;char c=getchar();
    while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}
    while(isdigit(c)){x=x*10+c-'0';c=getchar();}
    return x*f;
}
#define d rd()
const ll mod=998244353;
ll T,n;
#define pb push_back
vector<ll>e[200010];
ll sz[200010],ssz[200010];
ll res;
void dfs(ll u,ll fa){
    sz[u]=1;
    for(int i=0;i<e[u].size();i++){
        ll v=e[u][i];if(v==fa)continue;
        dfs(v,u);sz[u]+=sz[v];
    }ssz[u]=sz[u]*sz[u]%mod;ll t=0;
    for(int i=0;i<e[u].size();i++){
        ll v=e[u][i];if(v==fa)continue;
        res=(res+(sz[v]*(n-sz[v])%mod)*((sz[v]*(n-sz[v])%mod)))%mod;
        res=(res+2*((n-sz[v])*(n-sz[v])%mod*(ssz[v]-sz[v]*sz[v]%mod+mod)%mod))%mod;
        res=(res+2*(sz[v]*t%mod)*sz[v])%mod;
        ssz[u]=(ssz[u]+ssz[v])%mod;t=(t+ssz[v])%mod;
    }
}
ll qp(ll a,ll b){a%=mod;
    ll res=1;while(b){
        if(b&1)res=res*a%mod;
        a=a*a%mod;b>>=1;
    }return res;
}
int main(){
    T=d;while(T--){
        n=d;f(i,1,n)e[i].clear(),sz[i]=ssz[i]=0;res=0;
        f(i,1,n-1){
            ll u=d,v=d;
            e[u].pb(v),e[v].pb(u);
        }dfs(1,0);ll iv=qp(n*(n-1)/2,mod-2);
        iv=(iv*iv)%mod;
        // f(i,1,n)cout<<sz[i]<<" "<<ssz[i]<<endl;
        cout<<res*iv%mod<<endl;
    }
    return 0;
}
/*
1
5
1 2
1 5
3 2
4 2
*/

詳細信息

Test #1:

score: 100
Accepted
time: 2ms
memory: 10792kb

input:

2
3
1 2
2 3
5
1 2
1 5
3 2
4 2

output:

443664158
918384806

result:

ok 2 lines

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 11204kb

input:

1000
7
3 6
4 3
5 3
2 6
1 4
7 1
12
5 7
10 7
2 10
11 2
1 7
8 1
4 2
9 11
6 9
12 11
3 5
6
2 5
1 2
4 5
6 4
3 6
5
2 5
1 5
4 5
3 2
8
1 8
2 8
4 2
6 1
5 6
7 6
3 8
8
3 8
7 3
4 8
6 4
2 7
5 2
1 4
4
3 1
4 3
2 1
6
5 1
6 1
2 5
3 5
4 2
12
8 11
5 11
12 8
3 12
6 12
2 3
4 6
10 11
1 5
9 5
7 5
9
6 1
7 6
4 7
8 7
5 4
9 6
...

output:

948445317
839203589
550143557
918384806
395987239
487662742
776412276
869581749
788558042
392827641
315802614
887328316
417447641
654037969
311550833
899652320
859599306
271631118
908525604
945867336
433351719
56023919
576147205
183319566
698771049
2969985
831623816
599710576
310564911
578242286
232...

result:

wrong answer 2nd lines differ - expected: '468414020', found: '839203589'