CF1770E Koxia and Tree
admin
2024-05-04 16:31:14
0次

题目描述

给定一棵nnn个点的树,在kkk个位置上存在蝴蝶,我们需要给n−1n-1n−1条边定向,如果一条边的起点有蝴蝶且终点没有蝴蝶,那么蝴蝶将被移动到终点,我们会按照给定边的顺序移动,问最终所有蝴蝶的树上距离的和的期望,答案除于k(k−1)2\frac{k(k-1)}{2}2k(k−1)​,对998244353998244353998244353取模
k≤n≤300000k\le n\le 300000k≤n≤300000

题解

首先考虑第一个问题,我们怎么求kkk个点的距离和,可以随便钦定一个点为根,求出sizusiz_usizu​表示子树uuu中的指定结点个数,答案显然就是∑sizu(k−sizu)\sum siz_u(k-siz_u)∑sizu​(k−sizu​)
意识到每条边只会经历一遍,所以sizusiz_usizu​只会变化111,可以通过uuu到父亲的边的移动情况讨论得出
由于uuu到其父亲上的边未走过之前,uuu和其父亲有蝴蝶的概率是互不影响的,所以我们只需要知道uuu和其父亲上有蝴蝶的概率就可以算出Δans\Delta ansΔans,新的概率也可以动态维护pu=pfau=pu+pfau2p_u=p_{fa_u}=\frac{p_u+p_{fa_u}}{2}pu​=pfau​​=2pu​+pfau​​​

code\text{code}code

#include
#include
#include
#define ll long long
using namespace std;
const ll mod=998244353,inv2=499122177;
ll ksm(ll a,ll b)
{if(b==0) return 1;ll tmp=ksm(a,b>>1);if(b&1) return tmp*tmp%mod*a%mod;else return tmp*tmp%mod; 
}
void read(int &res)
{res=0;char ch=getchar();while(ch<'0'||ch>'9') ch=getchar();while('0'<=ch&&ch<='9') res=(res<<1)+(res<<3)+(ch^48),ch=getchar();
}
const int N=3e5+100;
int n,k,a[N+10],A[N+10],B[N+10];
vector e[N+10];
bool vis[N+10];
int fa[N+10],siz[N+10];
ll ans,p[N+10];
void dfs(int u)
{siz[u]=vis[u];for(int v:e[u]){if(v==fa[u]) continue;fa[v]=u,dfs(v),siz[u]+=siz[v];}ans+=1ll*siz[u]*(k-siz[u]);
}
int main()
{read(n),read(k);for(int i=1;i<=k;i++) read(a[i]),vis[a[i]]=true,p[a[i]]=1;for(int i=1;iif(fa[A[i]]==B[i]) swap(A[i],B[i]);ans+=p[A[i]]*(mod+1-p[B[i]])%mod*(1ll*(siz[B[i]]+1)*(k-siz[B[i]]-1)%mod+mod-1ll*siz[B[i]]*(k-siz[B[i]])%mod)%mod*inv2%mod,ans%=mod;ans+=p[B[i]]*(mod+1-p[A[i]])%mod*(1ll*(siz[B[i]]-1)*(k-siz[B[i]]+1)%mod+mod-1ll*siz[B[i]]*(k-siz[B[i]])%mod)%mod*inv2%mod,ans%=mod;p[A[i]]=p[B[i]]=(p[A[i]]+p[B[i]])*inv2%mod;}printf("%lld\n",ans*ksm(1ll*k*(k-1)%mod*inv2%mod,mod-2)%mod);return 0;
}

相关内容

热门资讯

两只大牛股,紧急发声:不属实!... 5天3板超声电子:“超声电子高频板通过英伟达认证”情况不属实,目前无产品供货给英伟达9月13日晚间,...
科创板创新药企BD授权交易总额... 2026年半年度财报季已收官,在创新药企业以业绩扭亏和BD兑现吸引市场目光的同时,以CXO为代表的上...
蔚来李斌1-8月交付增近58%... 9月9日消息,上海蔚来汽车有限公司副总裁品牌与传播资深专家马麟在微博透露,9月8日下午,蔚来创始人、...
京东物流部署过万前置仓应对手机... IT之家 9 月 13 日消息,据京东物流黑板报,9 月,多个品牌旗舰手机集中上新。针对消费者希望尽...
特朗普让泽连斯基勿袭击俄柴油燃... 9月13日,当地时间9月13日,美国总统特朗普要求乌克兰总统泽连斯基停止袭击俄罗斯柴油燃料设施,称相...
下周,年内最便宜新股启动打新 ... 2026.09.13本文字数:1467,阅读时长大约2分钟作者 |第一财经 安卓封图 |AI生成下周...
北京:激活地理信息要素赋能城市... 9月13日,从北京市规划和自然资源委员会获悉,《北京市测绘地理信息条例》已由北京市第十六届人民代表大...
接下来该如何逃顶?建议看看这篇... 最近这段时间,很多朋友的心里其实都是悬着的。行情走到这个位置,大家见面聊得最多的就是,接下来到底该怎...
武汉:到2035年武汉区域科技... 9月13日,武汉市委十四届十三次全会召开,审议通过了《关于打造具有全球竞争力的开放创新生态 高水平建...
卡塔尔股市收盘上涨0.25% 9月13日,卡塔尔证券交易所主要股指今日收盘上涨0.25%,报9848.95点,上涨24.46点。全...