思路

第一步,先推导1,0,0,……,0,就是1后面跟了n-1个0的时候

所需要的期望步数

封闭式推导

\(f_n\)代表从n关开始直接通关需要的步数的期望

n为1的情况,即就只有一个1

\(f_1=\cfrac{1}{2} \times 1+\cfrac{1}{2} \times (f_1+1)\)

整理得\(f_1=2\)

第一关时,你有一半的概率通关,有一半的概率回到自身重新开始

n为2的情况,1,0

\(f_1=\cfrac{1}{2} \times 1+\cfrac{1}{2} \times (f_2+1)\)

\(f_2=\cfrac{1}{2} \times 1+\cfrac{1}{2} \times (f_1+1)\)

整理得\(f_1=6\)

第一关时,你有一半的概率到达第二关,有一半的概率回到自身重新开始

第二关时,你有一半的概率通关,有一半的概率回到第一关重新开始

这样我们就可以进行归纳总结

把每个式子化简一下

\(f_1=\cfrac{1}{2} f_1+\cfrac{1}{2} f_2+1\)

\(f_2=\cfrac{1}{2} f_1+\cfrac{1}{2} f_3+1\)

\(f_3=\cfrac{1}{2} f_1+\cfrac{1}{2} f_4+1\)

……

\(f_i=\cfrac{1}{2} f_1+\cfrac{1}{2} f_{i+1}+1\)

……

\(f_n=\cfrac{1}{2} f_1+1\)

然后自己整理一下,就是两个等比数列的和

就得到了\(f_1\)的封闭式

对于任意情况的n时,\(f_1=2^{n+1}-2\)

思路推进

推导出1,……,0,0的期望公式之后,我们如果再后面继续添加1,0,……,0这样一个序列

那么他的期望是直接相加的,因为他是一个复活点(检查点),跟你前面的序列一点关系都没有

所以你无论怎么增加都是一个2的倍数,这样也就得到奇数的时候是无解的

代码实现

Codeforces Round #688(Div 2) D. Checkpoints的更多相关文章

  1. Codeforces Round #688 (Div. 2)

    A. Cancel the Trains 题意:给定两个数组,找出这两个数组中有多少重复元素,然后输出 思路:直接找 代码: 1 #include<iostream> 2 #include ...

  2. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  3. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  4. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  5. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  6. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  7. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  8. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

  9. Codeforces Round #371 (Div. 1)

    A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...

随机推荐

  1. 老大说新项目的结构和 xxx 项目一样就可以了,我 ……(使用 Maven Archetype 快速创建项目)

    前言 又要开发新项目了,还是创建新项目,怎么办?老大说按照 xxx 项目的结构创建一个新项目就可以了. 公众号:liuzhihangs,记录工作学习中的技术.开发及源码笔记:时不时分享一些生活中的见闻 ...

  2. 懒得写文档,swagger文档导出来不香吗

    导航 前言 离线文档 1 保存为html 2 导出成pdf文档 3 导出成Word文档 参考 前言   早前笔者曾经写过一篇文章<研发团队,请管好你的API文档>.团队协作中,开发文档的重 ...

  3. 题解 AT3877 【[ARC089C] GraphXY】

    参考的博客 在[有趣的思维题]里看到了这道题. 题意: 给出一个\(A\times B\)的矩阵,其中第i行第j列元素为\(d_{i,j}\),试构造一个有向图,满足: 有向图点数\(\le 300\ ...

  4. 【SpringBoot】09.SpringBoot整合Freemarker

    SpringBoot整合Freemarker 1.修改pom文件,添加坐标freemarker启动器坐标 <project xmlns="http://maven.apache.org ...

  5. Spring中基于XML的声明式事务控制配置步骤

    1.配置事务管理器 2.配置事务的通知 此时,我们就需要导入事务的约束 tx名称空间和约束,同时也需要aop的 使用tx:advice标签配置事务通知 属性: id:给事务通知起一个唯一标识 tran ...

  6. JavaScript ES 模块:现代化前端编程必备技能

    自从 ES 模块被添加到规范中后,JavaScript 中的模块就更加简单了.模块按文件分开,异步加载.导出是用 export 关键字定义的:值可以用 import 关键字导入. 虽然导入和导出单个值 ...

  7. Spider--补充--jsonpath的使用

    # 知识点参见:https://blog.csdn.net/muzico425/article/details/102763176 # 示例:爬取示例网站的首页的评论: # 解析得到的字符串r.tex ...

  8. 关于目标检测(Object Detection)的文献整理

    本文对CV中目标检测子方向的研究,整理了如下的相关笔记(持续更新中): 1. Cascade R-CNN: Delving into High Quality Object Detection 年份: ...

  9. 《HarmonyOS设备开发入门手册》

    HarmonyOS设备开发入门手册-更新 [欢迎大家点击下载] 作者:连志安 想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区 https://harmonyos.51cto. ...

  10. asyncio多进程+pyppeteer浏览器控制+pyquery解析实现爬虫demo

    import asyncio from pyppeteer import launch from pyquery import PyQuery as pq async def main(): brow ...