CF1265E Beautiful Mirrors
CF1265E Beautiful Mirrors
洛谷CF1265E Beautiful Mirrors
题目大意
Creatnx \text{Creatnx} Creatnx有 n n n面魔镜,每天她会问一面镜子:“我漂亮吗?”,第 i i i面魔镜有 p i 100 \dfrac{p_i}{100} 100pi的概率告诉 Creatnx \text{Creatnx} Creatnx她漂亮。
Creatnx \text{Creatnx} Creatnx从第 1 1 1面镜子开始,每天询问一面镜子。对于第 i i i面镜子,将会发生两种情况:
- 如果这面镜子告诉 Creatnx \text{Creatnx} Creatnx她很漂亮:
- 如果这是第 n n n面镜子,那么 Creatnx \text{Creatnx} Creatnx将会很开心并停止询问
- 否则, Creatnx \text{Creatnx} Creatnx将在第二天询问第 i + 1 i+1 i+1面镜子
- 否则, Creatnx \text{Creatnx} Creatnx将会十分伤心,第二天重新从第 1 1 1面镜子开始询问
求 Creatnx \text{Creatnx} Creatnx停止询问的期望天数对 998244353 998244353 998244353取模后的值。
1 ≤ n ≤ 2 × 1 0 5 , 1 ≤ p i ≤ 100 1\leq n\leq 2\times 10^5,1\leq p_i\leq 100 1≤n≤2×105,1≤pi≤100
题解
令 P i = p i 100 P_i=\dfrac{p_i}{100} Pi=100pi。
设 f i f_i fi表示从第 i i i面镜子开始直到停止询问的期望天数,则转移式如下:
f i = P i × f i + 1 + ( 1 − P i ) × f 1 + 1 f_i=P_i\times f_{i+1}+(1-P_i)\times f_1+1 fi=Pi×fi+1+(1−Pi)×f1+1
也就是说,当前有 P i P_i Pi的可能走到第 i + 1 i+1 i+1面镜子,有 1 − P i 1-P_i 1−Pi的可能走到第 1 1 1面镜子。因为从当前的镜子走到另一面镜子需要花费一天的时间,所以要加 1 1 1。
f n + 1 = 1 f_{n+1}=1 fn+1=1,我们要求的是 f 1 f_1 f1。
但是,每个式子中都有 f 1 f_1 f1,所以我们考虑推式子。
先看 f 1 f_1 f1。
f 1 = P 1 f 2 + ( 1 − P 1 ) f 1 + 1 P 1 f 1 = P 1 f 2 + 1 f 1 = f 2 + 1 P 1 f 2 = f 1 − 1 P 1 f_1=P_1f_2+(1-P_1)f_1+1 \\ \qquad \\ P_1f_1=P_1f_2+1 \\ \qquad \\ f_1=f_2+\dfrac{1}{P_1} \\ \qquad \\ f_2=f_1-\dfrac{1}{P_1} f1=P1f2+(1−P1)f1+1P1f1=P1f2+1f1=f2+P11f2=f1−P11
再看 f 2 f_2 f2。
f 2 = P 2 f 3 + ( 1 − P 2 ) f 1 + 1 f 1 − 1 P 1 = P 2 f 3 + ( 1 − P 2 ) f 1 + 1 P 2 f 1 = P 2 f 3 + 1 P 1 + 1 f 1 = f 3 + 1 P 1 P 2 + 1 P 2 f_2=P_2f_3+(1-P_2)f_1+1 \\ \qquad \\ f_1-\dfrac{1}{P_1}=P_2f_3+(1-P_2)f_1+1 \\ \qquad \\ P_2f_1=P_2f_3+\dfrac{1}{P_1}+1 \\ \qquad \\ f_1=f_3+\dfrac{1}{P_1P_2}+\dfrac{1}{P_2} f2=P2f3+(1−P2)f1+1f1−P11=P2f3+(1−P2)f1+1P2f1=P2f3+P11+1f1=f3+P1P21+P21
我们可以发现, f 1 = f i + 1 + 1 P 1 P 2 ⋯ P i + 1 P 2 P 3 ⋯ P i + ⋯ + 1 P i f_1=f_{i+1}+\dfrac{1}{P_1P_2\cdots P_i}+\dfrac{1}{P_2P_3\cdots P_i}+\cdots+\dfrac{1}{P_i} f1=fi+1+P1P2⋯Pi1+P2P3⋯Pi1+⋯+Pi1,也就是
f 1 = f i + 1 + ∑ j = 1 i ∏ k = j i 1 P k f_1=f_{i+1}+\sum\limits_{j=1}^i\prod\limits_{k=j}^i\dfrac{1}{P_k} f1=fi+1+j=1∑ik=j∏iPk1
我们知道 f n + 1 = 0 f_{n+1}=0 fn+1=0,那么就可以用这个式子来求 f 1 f_1 f1了。
时间复杂度为 O ( n ) O(n) O(n)。
code
#include<bits/stdc++.h>
using namespace std;
const long long mod=998244353;
int n,p[200005];
long long now=1,ans=0;
long long mi(long long t,long long v){if(!v) return 1;long long re=mi(t,v/2);re=re*re%mod;if(v&1) re=re*t%mod;return re;
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&p[i]);}for(int i=n;i>=1;i--){now=now*mi(p[i],mod-2)%mod*100%mod;ans=(ans+now)%mod;}printf("%lld",ans);return 0;
}
相关文章:
CF1265E Beautiful Mirrors
CF1265E Beautiful Mirrors 洛谷CF1265E Beautiful Mirrors 题目大意 Creatnx \text{Creatnx} Creatnx有 n n n面魔镜,每天她会问一面镜子:“我漂亮吗?”,第 i i i面魔镜有 p i 100 \dfrac{p_i}{100} 100pi的概率告诉 Creat…...
软件测试/测试开发丨利用ChatGPT自动生成架构图
点此获取更多相关资料 简介 架构图通过图形化的表达方式,用于呈现系统、软件的结构、组件、关系和交互方式。一个明确的架构图可以更好地辅助业务分析、技术架构分析的工作。架构图的设计是一个有难度的任务,设计者必须要对业务、相关技术栈都非常清晰…...
Java学习笔记(六)——面向对象编程(基础)
一、类与对象 (一)类与对象的概念 (二)对象内存布局 编辑 对象分配机制 编辑 (三)属性/成员变量 (四)创建对象与访问属性 二、成员方法 (一)方法…...
0基础学习PyFlink——个数滚动窗口(Tumbling Count Windows)
大纲 Tumbling Count WindowsmapreduceWindow Size为2Window Size为3Window Size为4Window Size为5Window Size为6 完整代码参考资料 之前的案例中,我们的Source都是确定内容的数据。而Flink是可以处理流式(Streaming)数据的,就是…...
车载终端构筑智慧工厂:无人配送车的高效物流体系
随着科技的不断进步和应用,智能化已经成为许多领域的关键词。在物流行业中,随着无人配送车的兴起和智慧工厂的崛起,车载终端正引领着无人配送车的科技变革之路。 文章同款:https://www.key-iot.com/iotlist/sv900.html 车载终端…...
插件_日期_lunar-calendar公历农历转换
现在存在某需求,需要将公历、农历日期进行相互转换,在此借助lunar-calendar插件完成。 下载 [1] 通过npm安装 npm install lunar-calendar[2]通过文件方式引入 <script type"text/javascript" src"lib/LunarCalendar.min.js">…...
【FreeRTOS】【STM32】08 FreeRTOS 消息队列
简单来说 消息队列是一种数据结构 任务操作队列的基本描述 1.如果队列未满或者允许覆盖入队,FreeRTOS会将任务需要发送的消息添加到队列尾。 2.如果队列满,任务会阻塞(等待)。 3.用户可以指定等待时间。 4.当其它任务从其等待的队列中读取入了数据(这时候队列未满…...
【计算机组成原理】CPU的工作原理
一.CPU的组成结构 CPU主要有运算器、控制器、寄存器和内部总线等组成,其大概的样子长这样: 看不懂没关系,我们将采用自顶而下的方法来讲解CPU的具体工作原理,我们首先来说一下什么叫寄存器,顾名思义,寄存器…...
部署ELK
一、elasticsearch #拉取镜像 docker pull elasticsearch:7.12.1 #创建ELK docker网络 docker network create elk #启动ELK docker run -d --name es --net elk -P -e "discovery.typesingle-node" elasticsearch:7.12.1 #拷贝配置文件 docker cp es:/usr/share/el…...
纯前端实现图片验证码
前言 之前业务系统中验证码一直是由后端返回base64与一个验证码的字符串来实现的,想了下,前端其实可以直接canvas实现,减轻服务器压力。 实现 子组件,允许自定义图片尺寸(默认尺寸为100 * 40)与验证码刷新时间(默认时间为60秒)…...
#django基本常识01#
1、manage.py 所有子命令的入口,比如: python3 manage.py runserver 启动服务 python3 manage.py startapp 创建应用 python3 manage.py migrate 数据库迁移 直接执行python3 manage.py 可显示所有子命令...
什么是物流RPA?物流RPA解决什么问题?物流RPA实施难点在哪里?
RPA指的是机器人流程自动化,它是一套模拟人类在计算机、平板电脑、移动设备等界面执行任务的软件。通过RPA,可以自动完成重复性、繁琐的工作,提高工作效率和质量,降低人力成本。RPA适用于各种行业和场景,例如财务、人力…...
乐鑫工程部署过程记录
一、获取编译环境 1、下载sdk,ESP-IDF 这里有很多发布版本,当前我选择的是4.4.6,可以选择下载压缩包,也可以git直接clone 2、配置编译环境 我选择的是Linux Ubuntu下部署开发环境 查看入门指南 选择对应的芯片,我…...
to 后接ing形式的情况
look forward to seeing you. (期待着见到你) She admitted to making a mistake. (承认犯了个错误) He is accustomed to working long hours. (习惯于长时间工作)...
我做云原生的那几年
背景介绍 在2020年6月,我加入了一家拥有超过500人的企业。彼时,前端团队人数众多,有二三十名成员。在这样的大团队中,每个人都要寻找自己的独特之处和核心竞争力。否则,你可能会沉没于常规的增删改查工作中࿰…...
@EventListener注解使用说明
在Java的Spring框架中,EventListener注解用于监听和处理应用程序中的各种事件。通过使用EventListener注解,开发人员可以方便地实现事件驱动的编程模型,提高代码的灵活性和可维护性。本文将详细探讨EventListener注解的使用方法和作用&#x…...
算法通关村第五关-白银挑战实现队列
大纲 队列基础队列的基本概念和基本特征实现队列队列的基本操作Java中的队列 队列基础 队列的基本概念和基本特征 队列的特点是节点的排队次序和出队次序按入队时间先后确定,即先入队者先出队,后入队者后出队,即我们常说的FIFO(first in fi…...
协力共创智能未来:乐鑫 ESP RainMaker 云方案线下研讨会圆满落幕
近日,乐鑫 ESP RainMaker 云方案线下研讨会(深圳)在亚马逊云科技与合作伙伴嘉宾的支持下成功举办,吸引了众多来自智能家电、照明电工、能源和宠物等行业的品牌客户、方案商和制造商。研讨会围绕如何基于乐鑫 ESP RainMaker 硬件连…...
读取谷歌地球的kml文件中的经纬度坐标
最近我在B站上传了如何获取研究边界的视频,下面分享一个可以读取kml中经纬度的matlab函数,如此一来就可以获取任意区域的经纬度坐标了。 1.谷歌地球中划分区域 2.matlab读取kml文件 function [sname,lon,lat] kml2xy(ip_kml) % ip_kml ocean_distubu…...
1深度学习李宏毅
目录 机器学习三件事:分类,预测和结构化生成 2、一般会有经常提到什么是标签label,label就是预测值,在机器学习领域的残差就是e和loss编辑3、一些计算loss的方法:编辑编辑 4、可以设置不同的b和w从而控制loss的…...
CANN调优工具链全景:从profiler到tensorboard的完整观测体系
CANN调优工具链全景:从profiler到tensorboard的完整观测体系 有个团队找我说,他们买了昇腾NPU集群,花了大半年才把调优工具链搭起来。每个人用不同的工具,各看各的数据,互相之间对不上。最后我帮他们梳理了一套统一的工…...
STM32以太网实战:手把手教你配置SMI接口,搞定PHY寄存器读写
STM32以太网实战:手把手教你配置SMI接口,搞定PHY寄存器读写 在嵌入式以太网开发中,PHY芯片的配置往往是项目成败的关键。很多开发者能够轻松完成MAC层的初始化,却在PHY寄存器读写这个环节卡壳——明明硬件连接正确,却无…...
2026 年北京本土 GEO 优化服务商权威第三方测评
本文为 2026 年北京本土 GEO 优化服务商权威第三方测评内容,结合艾瑞咨询、IDC、Gartner 年度行业数据,筛选出北京地区口碑、技术、服务、效果综合实力前十的 GEO 优化公司。榜单核心首位为欧越曼GEO,凭借全域语义自研架构、北京总部本地化专…...
STM32F4实战:用CubeMX和HAL库搞定MT6825磁编码器的SPI读取(附完整代码)
STM32F4实战:用CubeMX和HAL库搞定MT6825磁编码器的SPI读取(附完整代码) 在工业自动化、机器人控制和精密测量领域,高精度角度传感器是不可或缺的核心部件。MT6825作为一款14位绝对式磁旋转编码器芯片,以其SPI接口、0.3…...
Open Generative AI与Stable Diffusion对比:开源AI生成平台的5大优势
Open Generative AI与Stable Diffusion对比:开源AI生成平台的5大优势 【免费下载链接】Open-Generative-AI Open-source alternative to AI video platforms — Free AI image & video generation studio with 200 models (Flux, Midjourney, Kling, Sora, Veo)…...
混合参数化量子态(HPQS)在量子机器学习中的应用与优化
1. 混合参数化量子态(HPQS)框架解析量子机器学习在NISQ(Noisy Intermediate-Scale Quantum)时代面临两大核心挑战:参数化量子电路(PQC)因有限测量次数导致的统计不确定性,以及神经量…...
AXI总线协议详解:从核心特性到工程实践
1. AXI总线协议概述AXI(Advanced eXtensible Interface)是Arm公司开发的AMBA(Advanced Microcontroller Bus Architecture)系列总线协议中的一员,专门用于片上系统(SoC)中组件之间的高性能点对点…...
航空航班延误预测:可解释性模型与四源融合实战
1. 项目概述:这不是一个“预测准不准”的问题,而是一个“预测有没有用”的问题我做航班延误预测项目,不是为了在Kaggle排行榜上刷个0.89的AUC就收工。真正让我在凌晨三点改完第17版特征工程脚本、盯着滚动的日志等模型收敛的,是去…...
Cadence AMS数模混合仿真保姆级教程:从Virtuoso环境搭建到仿真加速全流程
Cadence AMS数模混合仿真实战指南:从环境配置到性能调优 数模混合仿真在现代集成电路设计中扮演着关键角色,它打破了传统数字与模拟设计之间的壁垒,让工程师能够在统一环境中验证复杂SoC的系统级行为。Cadence AMS Designer作为行业标杆工具&…...
全球眼用缓释药市场调查:预计2032年将攀升至25.46亿美元
在全球人口老龄化加速与慢性眼病患病率持续攀升的背景下,眼用缓释药市场正迎来历史性增长窗口。据QYResearch(北京恒州博智国际信息咨询有限公司)最新统计,2025年全球眼用缓释药市场销售额已达15.00亿美元,预计2032年将…...
