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
AC × 2
AC × 131
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