Submission #72942957
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=998244353;
ll ksm(ll a,ll b){
ll res=1;
while(b){
if(b&1) res=res*a%mod;
a=a*a%mod;
b/=2;
}
return res;
}
int n;
set<int> S;
int deg[200005];
vector<int> V[200005];
struct edge{
int u,v,c;
}e[200005];int tot;
void dfs(int u,int fa,int rt,int c){
if(deg[u]!=2){
if(rt) e[++tot]={rt,u,c};
rt=u,c=1;
}
for(int v:V[u]){
if(v==fa) continue;
dfs(v,u,rt,c+1);
}
}
int f[200005],sz[200005],out[200005];
int fd(int x){
if(x==f[x]) return x;
return f[x]=fd(f[x]);
}
void merge(int x,int y,int c){
x=fd(x),y=fd(y);
f[x]=y;
sz[y]+=sz[x]+c-2;
out[y]=out[y]+out[x]-2;
S.erase(x);
}
ll fac[200005],Ifac[200005];
ll C(int x,int y){
if(x<y) return 0;
return fac[x]*Ifac[y]%mod*Ifac[x-y]%mod;
}
ll T(int x,int h){
return (out[x]-1)*(h-1)+sz[x]-1;
}
ll ans[200005];
void solve(){
cin>>n;
if(n==1){
cout<<1<<"\n";
return;
}
fac[0]=1;
for(int i=1;i<=n;i++) fac[i]=fac[i-1]*i%mod;
Ifac[n]=ksm(fac[n],mod-2);
for(int i=n-1;i>=0;i--) Ifac[i]=Ifac[i+1]*(i+1)%mod;
for(int i=1;i<=n;i++) V[i].clear(),deg[i]=0;
for(int i=1;i<n;i++){
int u,v;
cin>>u>>v;
V[u].push_back(v);
V[v].push_back(u);
deg[u]++,deg[v]++;
}
S.clear();
for(int i=1;i<=n;i++){
if(deg[i]!=2){
f[i]=i;
sz[i]=1;
out[i]=deg[i];
S.insert(i);
}
}
tot=0;
dfs(*S.begin(),0,0,1);
int pos=1;
sort(e+1,e+1+tot,[&](edge x,edge y){
return x.c<y.c;
});
for(int k=n-1;k>=1;k--){
while(pos<=tot&&e[pos].c<n-k){
merge(e[pos].u,e[pos].v,e[pos].c);
pos++;
}
ans[k]=C(n,k);
for(auto x:S){
ans[k]=ans[k]*fac[T(fd(x),n-k)]%mod;
}
}
ans[n-1]=n,ans[n]=1;
for(int k=1;k<=n;k++) cout<<ans[k]<<" ";
cout<<"\n";
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int T;
cin>>T;
while(T--) solve();
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Sliding Puzzle On Tree |
| User | george0929 |
| Language | C++23 (GCC 15.2.0) |
| Score | 1500 |
| Code Size | 1931 Byte |
| Status | AC |
| Exec Time | 160 ms |
| Memory | 35316 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1500 / 1500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 01_sample_01.txt, 01_sample_02.txt |
| All | 01_sample_01.txt, 01_sample_02.txt, 02_small_01.txt, 02_small_02.txt, 02_small_03.txt, 02_small_04.txt, 02_small_05.txt, 02_small_06.txt, 02_small_07.txt, 02_small_08.txt, 02_small_09.txt, 02_small_10.txt, 02_small_11.txt, 02_small_12.txt, 02_small_13.txt, 02_small_14.txt, 02_small_15.txt, 02_small_16.txt, 02_small_17.txt, 02_small_18.txt, 03_concat_small_01.txt, 03_concat_small_02.txt, 03_concat_small_03.txt, 03_concat_small_04.txt, 03_concat_small_05.txt, 03_concat_small_06.txt, 03_concat_small_07.txt, 03_concat_small_08.txt, 03_concat_small_09.txt, 03_concat_small_10.txt, 03_concat_small_11.txt, 03_concat_small_12.txt, 03_concat_small_13.txt, 03_concat_small_14.txt, 03_concat_small_15.txt, 04_various_trees_01.txt, 04_various_trees_02.txt, 04_various_trees_03.txt, 04_various_trees_04.txt, 04_various_trees_05.txt, 04_various_trees_06.txt, 04_various_trees_07.txt, 04_various_trees_08.txt, 04_various_trees_09.txt, 04_various_trees_10.txt, 04_various_trees_11.txt, 04_various_trees_12.txt, 04_various_trees_13.txt, 04_various_trees_14.txt, 04_various_trees_15.txt, 04_various_trees_16.txt, 04_various_trees_17.txt, 04_various_trees_18.txt, 04_various_trees_19.txt, 04_various_trees_20.txt, 04_various_trees_21.txt, 04_various_trees_22.txt, 04_various_trees_23.txt, 04_various_trees_24.txt, 04_various_trees_25.txt, 04_various_trees_26.txt, 04_various_trees_27.txt, 04_various_trees_28.txt, 04_various_trees_29.txt, 04_various_trees_30.txt, 04_various_trees_31.txt, 04_various_trees_32.txt, 04_various_trees_33.txt, 04_various_trees_34.txt, 04_various_trees_35.txt, 04_various_trees_36.txt, 04_various_trees_37.txt, 04_various_trees_38.txt, 05_many_degree_2_01.txt, 05_many_degree_2_02.txt, 05_many_degree_2_03.txt, 05_many_degree_2_04.txt, 05_many_degree_2_05.txt, 05_many_degree_2_06.txt, 05_many_degree_2_07.txt, 05_many_degree_2_08.txt, 05_many_degree_2_09.txt, 05_many_degree_2_10.txt, 05_many_degree_2_11.txt, 05_many_degree_2_12.txt, 05_many_degree_2_13.txt, 05_many_degree_2_14.txt, 05_many_degree_2_15.txt, 05_many_degree_2_16.txt, 05_many_degree_2_17.txt, 05_many_degree_2_18.txt, 05_many_degree_2_19.txt, 05_many_degree_2_20.txt, 05_many_degree_2_21.txt, 05_many_degree_2_22.txt, 05_many_degree_2_23.txt, 05_many_degree_2_24.txt, 05_many_degree_2_25.txt, 05_many_degree_2_26.txt, 05_many_degree_2_27.txt, 05_many_degree_2_28.txt, 05_many_degree_2_29.txt, 05_many_degree_2_30.txt, 05_many_degree_2_31.txt, 05_many_degree_2_32.txt, 05_many_degree_2_33.txt, 05_many_degree_2_34.txt, 05_many_degree_2_35.txt, 05_many_degree_2_36.txt, 05_many_degree_2_37.txt, 05_many_degree_2_38.txt, 06_many_test_01.txt, 06_many_test_02.txt, 06_many_test_03.txt, 06_many_test_04.txt, 06_many_test_05.txt, 06_many_test_06.txt, 06_many_test_07.txt, 06_many_test_08.txt, 06_many_test_09.txt, 06_many_test_10.txt, 06_many_test_11.txt, 06_many_test_12.txt, 06_many_test_13.txt, 06_many_test_14.txt, 06_many_test_15.txt, 06_many_test_16.txt, 06_many_test_17.txt, 06_many_test_18.txt, 06_many_test_19.txt, 06_many_test_20.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01_sample_01.txt | AC | 2 ms | 3712 KiB |
| 01_sample_02.txt | AC | 2 ms | 3712 KiB |
| 02_small_01.txt | AC | 38 ms | 3728 KiB |
| 02_small_02.txt | AC | 37 ms | 3608 KiB |
| 02_small_03.txt | AC | 37 ms | 3724 KiB |
| 02_small_04.txt | AC | 38 ms | 3576 KiB |
| 02_small_05.txt | AC | 37 ms | 3856 KiB |
| 02_small_06.txt | AC | 37 ms | 3712 KiB |
| 02_small_07.txt | AC | 37 ms | 3856 KiB |
| 02_small_08.txt | AC | 37 ms | 3608 KiB |
| 02_small_09.txt | AC | 37 ms | 3636 KiB |
| 02_small_10.txt | AC | 37 ms | 3580 KiB |
| 02_small_11.txt | AC | 37 ms | 3580 KiB |
| 02_small_12.txt | AC | 38 ms | 3712 KiB |
| 02_small_13.txt | AC | 37 ms | 3696 KiB |
| 02_small_14.txt | AC | 38 ms | 3572 KiB |
| 02_small_15.txt | AC | 37 ms | 3696 KiB |
| 02_small_16.txt | AC | 37 ms | 3856 KiB |
| 02_small_17.txt | AC | 38 ms | 3688 KiB |
| 02_small_18.txt | AC | 38 ms | 3696 KiB |
| 03_concat_small_01.txt | AC | 94 ms | 30064 KiB |
| 03_concat_small_02.txt | AC | 92 ms | 32244 KiB |
| 03_concat_small_03.txt | AC | 94 ms | 33016 KiB |
| 03_concat_small_04.txt | AC | 94 ms | 32888 KiB |
| 03_concat_small_05.txt | AC | 94 ms | 33916 KiB |
| 03_concat_small_06.txt | AC | 93 ms | 31336 KiB |
| 03_concat_small_07.txt | AC | 92 ms | 30704 KiB |
| 03_concat_small_08.txt | AC | 93 ms | 32728 KiB |
| 03_concat_small_09.txt | AC | 93 ms | 31992 KiB |
| 03_concat_small_10.txt | AC | 93 ms | 32124 KiB |
| 03_concat_small_11.txt | AC | 94 ms | 32928 KiB |
| 03_concat_small_12.txt | AC | 92 ms | 31856 KiB |
| 03_concat_small_13.txt | AC | 93 ms | 31980 KiB |
| 03_concat_small_14.txt | AC | 93 ms | 31092 KiB |
| 03_concat_small_15.txt | AC | 94 ms | 33008 KiB |
| 04_various_trees_01.txt | AC | 133 ms | 31344 KiB |
| 04_various_trees_02.txt | AC | 132 ms | 31472 KiB |
| 04_various_trees_03.txt | AC | 154 ms | 34044 KiB |
| 04_various_trees_04.txt | AC | 155 ms | 33952 KiB |
| 04_various_trees_05.txt | AC | 155 ms | 35096 KiB |
| 04_various_trees_06.txt | AC | 150 ms | 35316 KiB |
| 04_various_trees_07.txt | AC | 146 ms | 35104 KiB |
| 04_various_trees_08.txt | AC | 74 ms | 32536 KiB |
| 04_various_trees_09.txt | AC | 117 ms | 35072 KiB |
| 04_various_trees_10.txt | AC | 119 ms | 33432 KiB |
| 04_various_trees_11.txt | AC | 123 ms | 31744 KiB |
| 04_various_trees_12.txt | AC | 123 ms | 29944 KiB |
| 04_various_trees_13.txt | AC | 143 ms | 34552 KiB |
| 04_various_trees_14.txt | AC | 139 ms | 34520 KiB |
| 04_various_trees_15.txt | AC | 138 ms | 34724 KiB |
| 04_various_trees_16.txt | AC | 156 ms | 34828 KiB |
| 04_various_trees_17.txt | AC | 160 ms | 34772 KiB |
| 04_various_trees_18.txt | AC | 133 ms | 31344 KiB |
| 04_various_trees_19.txt | AC | 143 ms | 32752 KiB |
| 04_various_trees_20.txt | AC | 97 ms | 32508 KiB |
| 04_various_trees_21.txt | AC | 125 ms | 33000 KiB |
| 04_various_trees_22.txt | AC | 136 ms | 32852 KiB |
| 04_various_trees_23.txt | AC | 137 ms | 32988 KiB |
| 04_various_trees_24.txt | AC | 157 ms | 34192 KiB |
| 04_various_trees_25.txt | AC | 107 ms | 33272 KiB |
| 04_various_trees_26.txt | AC | 136 ms | 34584 KiB |
| 04_various_trees_27.txt | AC | 150 ms | 34232 KiB |
| 04_various_trees_28.txt | AC | 153 ms | 34444 KiB |
| 04_various_trees_29.txt | AC | 71 ms | 28920 KiB |
| 04_various_trees_30.txt | AC | 89 ms | 31436 KiB |
| 04_various_trees_31.txt | AC | 101 ms | 34408 KiB |
| 04_various_trees_32.txt | AC | 99 ms | 33000 KiB |
| 04_various_trees_33.txt | AC | 115 ms | 32528 KiB |
| 04_various_trees_34.txt | AC | 130 ms | 34136 KiB |
| 04_various_trees_35.txt | AC | 130 ms | 35264 KiB |
| 04_various_trees_36.txt | AC | 144 ms | 34592 KiB |
| 04_various_trees_37.txt | AC | 158 ms | 34944 KiB |
| 04_various_trees_38.txt | AC | 143 ms | 34896 KiB |
| 05_many_degree_2_01.txt | AC | 97 ms | 26744 KiB |
| 05_many_degree_2_02.txt | AC | 100 ms | 26760 KiB |
| 05_many_degree_2_03.txt | AC | 110 ms | 28272 KiB |
| 05_many_degree_2_04.txt | AC | 106 ms | 28156 KiB |
| 05_many_degree_2_05.txt | AC | 108 ms | 28704 KiB |
| 05_many_degree_2_06.txt | AC | 105 ms | 28660 KiB |
| 05_many_degree_2_07.txt | AC | 102 ms | 28824 KiB |
| 05_many_degree_2_08.txt | AC | 74 ms | 32600 KiB |
| 05_many_degree_2_09.txt | AC | 92 ms | 31376 KiB |
| 05_many_degree_2_10.txt | AC | 91 ms | 28796 KiB |
| 05_many_degree_2_11.txt | AC | 93 ms | 27976 KiB |
| 05_many_degree_2_12.txt | AC | 93 ms | 26352 KiB |
| 05_many_degree_2_13.txt | AC | 97 ms | 28344 KiB |
| 05_many_degree_2_14.txt | AC | 102 ms | 28796 KiB |
| 05_many_degree_2_15.txt | AC | 101 ms | 28368 KiB |
| 05_many_degree_2_16.txt | AC | 109 ms | 28888 KiB |
| 05_many_degree_2_17.txt | AC | 102 ms | 28800 KiB |
| 05_many_degree_2_18.txt | AC | 97 ms | 26864 KiB |
| 05_many_degree_2_19.txt | AC | 104 ms | 27536 KiB |
| 05_many_degree_2_20.txt | AC | 83 ms | 28796 KiB |
| 05_many_degree_2_21.txt | AC | 93 ms | 28560 KiB |
| 05_many_degree_2_22.txt | AC | 99 ms | 27792 KiB |
| 05_many_degree_2_23.txt | AC | 99 ms | 27644 KiB |
| 05_many_degree_2_24.txt | AC | 110 ms | 28276 KiB |
| 05_many_degree_2_25.txt | AC | 87 ms | 29688 KiB |
| 05_many_degree_2_26.txt | AC | 100 ms | 30464 KiB |
| 05_many_degree_2_27.txt | AC | 104 ms | 28416 KiB |
| 05_many_degree_2_28.txt | AC | 104 ms | 28400 KiB |
| 05_many_degree_2_29.txt | AC | 71 ms | 26264 KiB |
| 05_many_degree_2_30.txt | AC | 80 ms | 31776 KiB |
| 05_many_degree_2_31.txt | AC | 82 ms | 30016 KiB |
| 05_many_degree_2_32.txt | AC | 83 ms | 30952 KiB |
| 05_many_degree_2_33.txt | AC | 89 ms | 29128 KiB |
| 05_many_degree_2_34.txt | AC | 94 ms | 30964 KiB |
| 05_many_degree_2_35.txt | AC | 96 ms | 30184 KiB |
| 05_many_degree_2_36.txt | AC | 101 ms | 28408 KiB |
| 05_many_degree_2_37.txt | AC | 98 ms | 28436 KiB |
| 05_many_degree_2_38.txt | AC | 108 ms | 28380 KiB |
| 06_many_test_01.txt | AC | 56 ms | 5144 KiB |
| 06_many_test_02.txt | AC | 54 ms | 5136 KiB |
| 06_many_test_03.txt | AC | 55 ms | 5280 KiB |
| 06_many_test_04.txt | AC | 56 ms | 5720 KiB |
| 06_many_test_05.txt | AC | 56 ms | 5748 KiB |
| 06_many_test_06.txt | AC | 59 ms | 6384 KiB |
| 06_many_test_07.txt | AC | 53 ms | 4736 KiB |
| 06_many_test_08.txt | AC | 59 ms | 5960 KiB |
| 06_many_test_09.txt | AC | 54 ms | 5104 KiB |
| 06_many_test_10.txt | AC | 52 ms | 4680 KiB |
| 06_many_test_11.txt | AC | 54 ms | 5536 KiB |
| 06_many_test_12.txt | AC | 53 ms | 4724 KiB |
| 06_many_test_13.txt | AC | 55 ms | 5240 KiB |
| 06_many_test_14.txt | AC | 57 ms | 5748 KiB |
| 06_many_test_15.txt | AC | 58 ms | 6032 KiB |
| 06_many_test_16.txt | AC | 54 ms | 5080 KiB |
| 06_many_test_17.txt | AC | 57 ms | 5112 KiB |
| 06_many_test_18.txt | AC | 56 ms | 5528 KiB |
| 06_many_test_19.txt | AC | 53 ms | 5124 KiB |
| 06_many_test_20.txt | AC | 55 ms | 4988 KiB |