CF1925D Good Trip 题解
Solution
不好做的地方在于每一对朋友的友谊值是不同的,于是考虑将其统一为一个数。比较好想的就是将他们的初始友谊值提前计算,即对于每一次远足,设总情况为
现在我们可以认为每一对朋友的友谊值为
void work(){
cin>>n>>m>>k; int ans=0,res=0;
for(int i=1,a,b,p;i<=m;i++) cin>>a>>b>>p,ans=(ans+p)%Mod;
int S=n*(n-1)/2%Mod,invS=qmi(S,Mod-2); ans=k*ans%Mod*invS%Mod;
for(int i=1;i<=k;i++){
int w=i*(i-1)/2%Mod;
res=(res+w*C(k,i)%Mod*qmi(invS,i)%Mod*qmi((S-1)*invS%Mod,k-i)%Mod)%Mod;
} ans=(ans+res*m%Mod)%Mod; printf("%lld\n",ans);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】