当前位置: 首页 > news >正文

CF1842G Tenzing and Random Operations题解

CF1842G Tenzing and Random Operations

题目描述

又一道随机问题。

Tenzing 有一个长度为nnn的数组aaa和一个整数vvv

Tenzing 将进行mmm次如下操作:

  1. 每次等概率随机选择一个整数iii,满足1≤i≤n1 \leq i \leq n1in
  2. 对所有满足i≤j≤ni \leq j \leq nijnjjj,将aja_jaj赋值为aj+va_j + vaj+v

Tenzing 想知道,经过mmm次操作后,∏i=1nai\prod_{i=1}^n a_ii=1nai的期望值是多少,结果对109+710^9+7109+7取模。

形式化地,设M=109+7M = 10^9+7M=109+7。可以证明答案可以表示为最简分数pq\frac{p}{q}qp,其中pppqqq是整数且q≢0(modM)q \not\equiv 0 \pmod{M}q0(modM)。请输出等于p⋅q−1 mod Mp \cdot q^{-1} \bmod Mpq1modM的整数。换句话说,输出一个整数xxx,满足0≤x<M0 \le x < M0x<Mx⋅q≡p(modM)x \cdot q \equiv p \pmod{M}xqp(modM)

输入格式

输入的第一行包含三个整数nnnmmmvvv1≤n≤50001\leq n\leq 50001n50001≤m,v≤1091\leq m,v\leq 10^91m,v109)。

第二行包含nnn个整数a1,a2,…,ana_1,a_2,\ldots,a_na1,a2,,an1≤ai≤1091\leq a_i\leq 10^91ai109)。

输出格式

输出∏i=1nai\prod_{i=1}^n a_ii=1nai的期望值对109+710^9+7109+7取模的结果。

输入输出样例 #1

输入 #1

2 2 5 2 2

输出 #1

84

输入输出样例 #2

输入 #2

5 7 9 9 9 8 2 4

输出 #2

975544726

说明/提示

经过所有mmm次操作后,数组aaa有三种可能的情况:

  1. a1=2,a2=12a_1=2,a_2=12a1=2,a2=12,概率为14\frac{1}{4}41
  2. a1=a2=12a_1=a_2=12a1=a2=12,概率为14\frac{1}{4}41
  3. a1=7,a2=12a_1=7,a_2=12a1=7,a2=12,概率为12\frac{1}{2}21

因此,a1⋅a2a_1\cdot a_2a1a2的期望值为14⋅(24+144)+12⋅84=84\frac{1}{4}\cdot (24+144) + \frac{1}{2}\cdot 84=8441(24+144)+2184=84

由 ChatGPT 4.1 翻译

思路

考虑如何使其时间复杂度和m无关。
发现可以考虑设计一个链,i->i+1有a[i]条路,可以每次给所有的增加v条路径。
发现总共经过的增加的路径最多只有n种,考虑设f[i][j]表示到第i条路总共经过了j种不同的时刻增加的路径集合(指所有增加中其经历了j种增加的路径)
f[i+1][j]+=(f[i][j]a[i+1](原本路径)+f[i][j]jv(之前走过的新路))
f[i+1][j+1]+=(f[i][j]
(m-j)(未被选的路径数)v(增加的路径数)(i+1)(选择其开始地点(最初第一个所在地)))
最终答案为所有f[n][i]*n^(m-i) (其他随便)/n^m(总数)

代码

#include<bits/stdc++.h>usingnamespacestd;constlonglongmod=1e9+7;longlongn,m,v,a[5005],f[5005][5005],op=0;longlongpow2(longlonga1,longlongb1){longlongc1=1;while(b1>=1){if(b1%2==1){c1=c1*a1%mod;}a1=a1*a1%mod;b1/=2;}returnc1;}intmain(){cin>>n>>m>>v;for(inti=1;i<=n;i++){cin>>a[i];}f[0][0]=1;for(inti=0;i<=n-1;i++){for(intj=0;j<=min((longlong)i,m);j++){f[i+1][j]=(f[i+1][j]+f[i][j]*(a[i+1]+(longlong)j*v%mod))%mod;f[i+1][j+1]=(f[i+1][j+1]+f[i][j]*(i+1)*1ll%mod*(m-j)*1ll%mod*v)%mod;}}for(inti=0;i<=min(n,m);i++){op=(op+f[n][i]*pow2(pow2(n,mod-2),i))%mod;}cout<<op<<endl;return0;}//>>AKIOI<<//
http://www.rkmt.cn/news/1540700.html

相关文章:

  • 2026吉安本地噪音检测哪家专业?TOP 正规机构榜单 + 环境噪声 + 工业噪音 + 低频噪音检测 附电话地址 - 鉴安检测
  • Flutter与原生iOS结合的Firebase火力全开
  • 2026抖音视频文字提取哪个好用?我实测带免费额度靠谱的只留这一款
  • Freescale e500虚拟化技术栈:KVM/QEMU实现与vcpu规范深度解析
  • 世界模型作为AGI落地底层底座的作用
  • 晋中市本土黄金白银铂金彩金回收品牌实力排行更新,从报价到服务全测评,实力领跑同行以及联系方式推荐 - 亦辰小黄鸭
  • Webmin:图形化Linux服务器管理工具从入门到精通
  • 选实木花格厂家,别只看花纹:从洪熙堂木工艺品厂的项目经验看用户避坑 - 企师傅推荐官
  • 2026手机免费制作证件照保姆级指南,多种方法手把手教学,附好用工具推荐 - AI测评专家
  • 26年广东成人高考函授站怎么找?哪一个是官方授权的。 - 一直爱学习的小花猫
  • 普通人可搭的多模态AI助手:具身行动+低成本实操指南
  • 2026河源本地承载力检测哪家专业?高口碑TOP 正规机构榜单 + 联系方式+ 实地测评 - 中安检测集团
  • 2026黑河本地环评检测哪家专业?TOP 正规机构榜单+环境监测 + CMA 检测 + 环保验收 附电话地址 - 中检检测集团
  • 计算机视觉模型选型实战指南:工业落地的四步约束法
  • 图文视频类线上投票从零搭建完整实操流程|零基础免费一键制作 - 微信投票小程序
  • LPC82x电容触控与手势识别:从原理到产品集成的嵌入式开发指南
  • AI论文平台的使用规范:如何界定“合理使用”与学术不端?
  • 2026西瓜视频去水印方法,合规免费怎么做?官方渠道+工具优缺点全盘点 - 科技热点发布
  • 2026年6月沼气碳排放监测解决方案厂家推荐:TOP5排名案例评测专业选择指南价格 - 品牌推荐
  • 2026丽水本地环评检测哪家专业?TOP 正规机构榜单+环境监测 + CMA 检测 + 环保验收 附电话地址 - 中检检测集团
  • Agent Memory 的本质:写入、检索、注入
  • 大同市闲置黄金白银铂金彩金回收变现全攻略 五家靠谱实体回收店深度解析+2026实时金价+避坑实战案例及联系方式 - 前途无量YY
  • 2026桂林本地环评检测哪家专业?TOP 正规机构榜单+环境监测 + CMA 检测 + 环保验收 附电话地址 - 中检检测集团
  • 2026英国留学中介推荐,第一梯队机构对比与申请指南 - GrowthUME
  • Gemma 4本地部署实现token自由:轻量级大模型落地实践指南
  • Umi-OCR终极指南:免费开源的离线文字识别神器,三步实现高效批量处理
  • RIPv2综合实验:认证+缺省路由+路由汇总与防环配置
  • 2026兴安盟业主高频选择的 5 家专业验房检测机构实地测评整理 毛坯验房 + 精装验房 + 空鼓开裂检测 附电话地址 - 科信检测
  • 汕尾市闲置黄金白银铂金彩金回收变现全攻略 五家靠谱实体回收店深度解析+2026实时金价+避坑实战案例及联系方式 - 前途无量YY
  • 丽水遂昌县当前金价高位,卖金时机正应把握 - 专业黄金回收