题目描述
牛牛在玩飞行棋。

有无限个格子排成一行,从左到右,标号为 0,1,....,n,.....0,1,....,n,.....0,1,....,n,.....终点为 0,有一架飞机一开始在 n 号位置。

排骨龙每回合可以先投掷一次 d 面的骰子,1 到 d 等概率出现。

投出点数 x 后,飞机会移动 x 步,每步移动一格,方向初始向左移动,若到达终点,会向右移动。
若投出的点数为 d 点,可以继续投掷,直到投出的点数不是 d 点。
求让这架飞机停在终点回合数的期望。


输入描述:

第一行一个数字 T 表示 T(T≤100)T(T≤100)T(T≤100) 组数据。

接下来每行两个正整数 n,d(2≤d,n≤100000)n,d(2≤d,n≤100000)n,d(2≤d,n≤100000)

对于 20% 数据,2<=n,d<=152<= n,d <=152<=n,d<=15
对于 50% 数据,2<=n,d<=1502 <= n,d <= 1502<=n,d<=150
对于 100% 数据,2<=n,d,<=1000002 <=n,d,<=1000002<=n,d,<=100000

输出描述:

输出 T 行,每行保留两位小数输出答案。


示例1

输入
6
1 6
2 6
3 6
4 6
5 6
6 6

输出
5.00
5.00
5.00
5.00
5.00
5.17


解题思路


代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<queue>
using namespace std;
int t,n,d;
double f[100000],sum[1000000];
int main() {scanf("%d",&t);while(t--){scanf("%d%d",&n,&d);f[0]=sum[0]=1;for(int i=1;i<d;i++){f[i]=d-1;sum[i]=sum[i-1]+f[i];}for(int i=d;i<=n;i++){f[i]=(sum[i-1]-sum[i-d]+d-1)/d+f[i-d]/d;sum[i]=sum[i-1]+f[i];}printf("%.2lf\n",f[n]);}
}

【2020.10.27 牛客 普及组 模拟赛5】T4 飞行棋相关推荐

  1. 【2020.10.17 牛客 普及组 模拟赛一】T2 牛牛的跳跳棋

    题目描述 牛牛最近在玩一种叫做跳跳棋的游戏,棋盘可以看成是一个一维的线性数组,编号从1到n+1n+1n+1. 一开始牛牛的棋子位于第1个格子,游戏的最终目的是将棋子移动到第n+1n+1n+1个格子. ...

  2. 计蒜客信息学3月普及组模拟赛

    A. 断幺九 题目链接 分值:100 时间限制:1000ms 测试点数目:10 B. 锈湖 题目链接 分值:100 时间限制:2000ms 测试点数目:10 C. 图  题目链接 分值:100 时间限 ...

  3. DD 摆磁铁(计蒜客信息学8月普及组模拟赛)

    DD 摆磁铁 这道题来自 计蒜客信息学8月普及组模拟赛 普及组!! 把我一个TG选手看懵了 看来我要回去打普及了 题目大意 给出一个n个节点的树,要把树上给定的2*m个节点两两配对,两个节点配对的产生 ...

  4. 【10.22 牛客普及(三)】 牛半仙的妹子串 题解

    [10.22 牛客普及(三)] 牛半仙的妹子串 题解 题目 牛半仙有 n n n 个妹子. 牛半仙用对于每个妹子都有一个名字,并且给了每个妹子一个评分. 牛半仙的审美与名字有关,他想知道名字以某字母结 ...

  5. 【10.17 牛客普及(一)】 牛牛的密码 题解

    [10.17 牛客普及(一)] 牛牛的密码 题解 题目 牛牛在注册不同的网站时,总是会使用不同的密码来保证他的账号安全. 为了保证他的密码强度,牛牛使用他的"字符串筛选器"来测试密 ...

  6. 1983. 【普及组模拟赛】手机(mobile)

    1983. [普及组模拟赛]手机(mobile) 题目描述 一般的手机的键盘是这样的: 要按出英文字母就必须要按数字键多下.例如要按出 x 就得按 9 两下,第一下会出 w,而第二下会把 w 变成 x ...

  7. 【计蒜客模拟赛系列】-计蒜客2021年8月普及组模拟赛

    提前:本文中部分代码和思路有借鉴或摘抄计蒜客官方题解 赛后总结 本次模拟赛的难度总算正常了些 个人战绩: 220/400,排名61 ,太弱了,一大堆AK爷 题目质量评价: 题目相比CSP-J还是简单了 ...

  8. 【2020.11.2 洛谷团队赛 普及组 模拟赛】T2 U138390 三角形

    题目描述 现在工厂里有三根铁棒,分别长为 a , b , c a,b,c a,b,c,现在你可以对其中一些铁棒进行加长,但总的加长长度 不能超过L,问有多少种加长的方案使得加长后的铁棒可以构成三角形. ...

  9. 【jzoj】2018.1.30NOIP普及组——模拟赛D组

    @_@ 前言 写博客时间 2018/1/30 22:36. 感想:出数据的dalao我服! 正题 题目1:二项式展开式(jzoj2254) 输入一个整数,求展开(a+b)^n.展开方式为 (a+b)^ ...

  10. 【普及组模拟赛】家族

    题目描述 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏.现在给你岛上的 ...

最新文章

  1. mysql dba失业_DBA要失业了?AI优化水平超DBA老炮儿
  2. Python+Selenium学习笔记10 - send_keys上传文件
  3. java web 程序---javaBean
  4. [学习]啦啦外卖定位修复,商家经纬度保存修复
  5. SnakeYaml 反序列化的一个小 trick
  6. 猜你喜欢”推荐算法大赛冠军分享
  7. 可口可乐中国联袂青年志发布《中国青年「在乎力」报告》
  8. 简述主成分分析法的基本步骤_主成分分析的基本步骤
  9. 商业级web阅读器项目(下下)
  10. 看计划排产软件在纺织业的应用
  11. Java项目:springboot ERP管理系统
  12. code::blocks自动补全诸如socket或者其它一些库中的函数
  13. 记录element ui dialog弹框生命周期问题
  14. Adobe Acrobat XI Pro 2019安装教程
  15. python3 模拟登陆_python3作业:模拟登录
  16. 第六章.决策树(Decision Tree)—CART算法
  17. 解决BUG:Incorrect string value: ‘\xAC\xED\x00\x05~r...‘ for column ‘XX‘ at row 1 Query
  18. ugui 转轮_(搬运工)unity3D的FingerGestures插件
  19. TypeError: cannot astype a timedelta from [timedelta64[ns]] to [int32]
  20. w10用计算机卸载,Win10专业版电脑里的软件如何卸载干净?

热门文章

  1. 深度学习与计算机视觉教程(7) | 神经网络训练技巧 (下)(CV通关指南·完结)
  2. mac 如何安装 wget
  3. delphi 实现科学计数法
  4. 《五分钟商学院》个人篇学习总结(下)
  5. RF 操作页面滚动条上下滚动
  6. Windows: 如何调整C盘分区大小
  7. python绝对值编程_python求绝对值的三种方法小结
  8. TIFF图像文件格式详解
  9. 劳务派遣计算机信息管理系统,劳务派遣人员信息管理系统
  10. android支付宝运动修改器,一键修改支付宝运动步数-修改支付宝运动步数工具下载不要root手机版-西西软件下载...