1 条题解

  • 0
    @ 2026-5-5 16:51:31
    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    int mod=998244353,i2=(mod+1)/2;
    int n,c=2,ans;
    vector<int> e[500010]; 
    int dfs(int cur,int fa){
    	int ret=1;
    	for(auto g:e[cur])
    		if(g!=fa){
    			(ret*=(1+dfs(g,cur))*i2%mod)%=mod;
    		}
    	(ans+=1-ret)%=mod;
    	return 1-ret;
    }
    signed main(){
    	cin>>n;
    	for(int i=1,u,v;i<n;i++){
    		cin>>u>>v;
    		e[u].push_back(v);
    		e[v].push_back(u);
    		(c*=2)%=mod;
    	}
    	dfs(1,0);
    	cout<<(ans*c%mod+mod)%mod;
    }
    
    • 1

    信息

    ID
    6853
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者