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;
}

相关内容

热门资讯

北方华创,巨额商誉压力突然高悬... 文丨詹詹编辑丨百进来源丨新商悟(本文约为 1300字)当国内半导体设备龙头北方华创交出一份“营收创历...
长城华西银行原女掌门已回老东家... 湘财Plus注意到,四川银行入主长城华西银行后,该行核心管理人员调整基本落定,法定代表人已正式变更为...
立案,跌停!这家“童年记忆”,... 沉浮多年,方向何在?最近被立案的上市公司,着实有些多,就在上周末,又有一家上市公司及原董事长被立案调...
加码生态环境监测!生态环境部:... 本文来源:时代周报 作者:李杭4月27日,生态环境部举行4月例行新闻发布会。 生态环境部4月例行新...
东方甄选主播“离职潮”持续发酵... 红星资本局4月27日消息,东方甄选(01797.HK)主播“离职潮”事件仍在发酵。在社交平台上,有部...
SpaceX万亿IPO前夜:马... 从20亿美元收购,到万亿IPO前的最后叙事。2026年4月23日深夜,特斯拉向SEC提交了一份季报文...
前董事长陆宏达“闪电辞职”牵扯... 紧急澄清前董事长性侵指控后,智度股份仍难挡股价大跌。4月27日,智度股份早盘一度重挫逾9%,逼近6....
高盛:一场全球性化工危机正在爆... 霍尔木兹海峡通行受阻,正在引发一场史无前例的全球化工供应冲击。高盛最新报告表示,基础化工品价格近几周...
这笔400亿,谷歌买的不是友谊... 4月25日,Anthropic宣布谷歌将向其投资最高400亿美元——先期注入100亿美元现金,估值3...
粪坑,爬出来了 粪坑,爬出来了... 图:Simon Bailly 读者说:“有人发现吗?2019年蚂蚁的大热基金鹏华快回本了,当年最高回...