正经题解
2025-06-27 21:05:41
发布于:美国
24阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;using ll=long long;const int N=1000005;const ll M=998244353;
int n,sz[N],cs[N];ll f[N],iv[N],a[N];vector<int>g[N];
void ab(int u,int p){sz[u]=1;for(int v:g[u])if(v!=p){ab(v,u);sz[u]+=sz[v];}}
void cd(int u,int p){for(int v:g[u])if(v!=p){ll s=cs[v],t=n-s;a[v]=a[u]*s%M*iv[t]%M;cs[u]=t;cs[v]=n;cd(v,u);cs[u]=n;cs[v]=s;}}
int main(){
cin>>n;for(int i=1,u,v;i<n;i++){cin>>u>>v;g[u].push_back(v);g[v].push_back(u);}
f[0]=1;for(int i=1;i<=n;i++)f[i]=f[i-1]*i%M;
iv[1]=1;for(int i=2;i<=n;i++)iv[i]=M - M/i*iv[M%i]%M;
ab(1,0);
a[1]=f[n];for(int i=1;i<=n;i++)a[1]=a[1]*iv[sz[i]]%M;
for(int i=1;i<=n;i++)cs[i]=sz[i];cs[1]=n;
cd(1,0);
for(int i=1;i<=n;i++)cout<<a[i]<<"\n";
}
全部评论 4
一眼AI
2025-07-02 来自 广东
0AI只提供了思路和代码的整理
2025-07-03 来自 浙江
0翻译:AI 只提供了这道题的解法和AC代码
2025-07-14 来自 湖南
0md,这不是AI?
2025-07-14 来自 浙江
0
6去美国了????
2025-07-01 来自 浙江
0d
2025-06-27 来自 美国
0d
2025-06-27 来自 美国
0
有帮助,赞一个