当前位置: 首页 > 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.jsqmd.com/news/1028823/

相关文章:

  • GT20L16S1Y字库芯片SPI驱动与多字体LCD显示实战
  • USDPAA架构下PPAC/PPAM设计:用户态数据包处理的高性能实践
  • 2026潍坊业主高频选择的 5 家专业验房检测机构实地测评整理 毛坯验房 + 精装验房 + 空鼓开裂检测 附电话地址 - 科信检测
  • 2026北京同款欧米茄回收价差很大?你最关心的几个问题有答案了! - 逸程
  • Flutter与原生iOS结合的Firebase火力全开
  • 2026太原搬家公司 避坑TOP5测评 长短途搬家闭眼选 - LYL仔仔
  • 2026徐州业主高频选择的 5 家专业验房检测机构实地测评整理 毛坯验房 + 精装验房 + 空鼓开裂检测 附电话地址 - 科信检测
  • GAN合成数据:工业级可控生成原理与实战指南
  • Freescale e500虚拟化技术栈:KVM/QEMU实现与vcpu规范深度解析
  • 微信投票怎么创建?零基础一键搭建,新手轻松上手 - 微信投票小程序
  • 2026快手保存无水印视频教程,快手视频去水印方法官方合规指南,第三方快手去水印工具风险详解 - 科技热点发布
  • 2026抖音视频文字提取哪个好用?我实测带免费额度靠谱的只留这一款
  • 世界模型作为AGI落地底层底座的作用
  • 【2027最新】基于SpringBoot+Vue的Web手工艺品销售系统管理系统源码+MyBatis+MySQL
  • 2026 南京包包回收避坑指南,规避虚高报价恶意压价套路 - 讯息早知道
  • 业务系统权限管控:最小权限落地与越权访问拦截方案
  • 找律师别只看大牌!珠海真正性价比高的,是这些本土团队化律所 - MacaoVictory
  • 临沂市本土黄金白银铂金彩金回收品牌实力排行更新,从报价到服务全测评,实力领跑同行以及联系方式推荐 - 亦辰小黄鸭
  • 三明市闲置黄金白银铂金彩金回收变现全攻略 五家靠谱实体回收店深度解析+2026实时金价+避坑实战案例及联系方式 - 前途无量YY
  • 2026南通本地环评检测哪家专业?TOP 正规机构榜单+环境监测 + CMA 检测 + 环保验收 附电话地址 - 中检检测集团
  • 2026泰州电商企业做GEO应该怎么选服务商?本地靠谱GEO服务商推荐及选型实战解析 - 科技快讯
  • 2026快手官方去水印渠道有哪些?快手去水印最新方法+第三方工具风险全解析 - 科技热点发布
  • 晋中市本土黄金白银铂金彩金回收品牌实力排行更新,从报价到服务全测评,实力领跑同行以及联系方式推荐 - 亦辰小黄鸭
  • 基于Garak与JailbreakBench的LLM自动化安全测试实战指南
  • 2026手机免费制作证件照保姆级指南,多种方法手把手教学,附好用工具推荐 - AI测评专家
  • 选实木花格厂家,别只看花纹:从洪熙堂木工艺品厂的项目经验看用户避坑 - 企师傅推荐官
  • 普通人可搭的多模态AI助手:具身行动+低成本实操指南
  • 26年广东成人高考函授站怎么找?哪一个是官方授权的。 - 一直爱学习的小花猫
  • Webmin:图形化Linux服务器管理工具从入门到精通
  • MPC8536E/MPC8535E SEC 3.0硬件加密引擎实战:原理、集成与性能优化