【2020.10.27 牛客 普及组 模拟赛5】T4 飞行棋
题目描述
牛牛在玩飞行棋。
有无限个格子排成一行,从左到右,标号为 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 飞行棋相关推荐
- 【2020.10.17 牛客 普及组 模拟赛一】T2 牛牛的跳跳棋
题目描述 牛牛最近在玩一种叫做跳跳棋的游戏,棋盘可以看成是一个一维的线性数组,编号从1到n+1n+1n+1. 一开始牛牛的棋子位于第1个格子,游戏的最终目的是将棋子移动到第n+1n+1n+1个格子. ...
- 计蒜客信息学3月普及组模拟赛
A. 断幺九 题目链接 分值:100 时间限制:1000ms 测试点数目:10 B. 锈湖 题目链接 分值:100 时间限制:2000ms 测试点数目:10 C. 图 题目链接 分值:100 时间限 ...
- DD 摆磁铁(计蒜客信息学8月普及组模拟赛)
DD 摆磁铁 这道题来自 计蒜客信息学8月普及组模拟赛 普及组!! 把我一个TG选手看懵了 看来我要回去打普及了 题目大意 给出一个n个节点的树,要把树上给定的2*m个节点两两配对,两个节点配对的产生 ...
- 【10.22 牛客普及(三)】 牛半仙的妹子串 题解
[10.22 牛客普及(三)] 牛半仙的妹子串 题解 题目 牛半仙有 n n n 个妹子. 牛半仙用对于每个妹子都有一个名字,并且给了每个妹子一个评分. 牛半仙的审美与名字有关,他想知道名字以某字母结 ...
- 【10.17 牛客普及(一)】 牛牛的密码 题解
[10.17 牛客普及(一)] 牛牛的密码 题解 题目 牛牛在注册不同的网站时,总是会使用不同的密码来保证他的账号安全. 为了保证他的密码强度,牛牛使用他的"字符串筛选器"来测试密 ...
- 1983. 【普及组模拟赛】手机(mobile)
1983. [普及组模拟赛]手机(mobile) 题目描述 一般的手机的键盘是这样的: 要按出英文字母就必须要按数字键多下.例如要按出 x 就得按 9 两下,第一下会出 w,而第二下会把 w 变成 x ...
- 【计蒜客模拟赛系列】-计蒜客2021年8月普及组模拟赛
提前:本文中部分代码和思路有借鉴或摘抄计蒜客官方题解 赛后总结 本次模拟赛的难度总算正常了些 个人战绩: 220/400,排名61 ,太弱了,一大堆AK爷 题目质量评价: 题目相比CSP-J还是简单了 ...
- 【2020.11.2 洛谷团队赛 普及组 模拟赛】T2 U138390 三角形
题目描述 现在工厂里有三根铁棒,分别长为 a , b , c a,b,c a,b,c,现在你可以对其中一些铁棒进行加长,但总的加长长度 不能超过L,问有多少种加长的方案使得加长后的铁棒可以构成三角形. ...
- 【jzoj】2018.1.30NOIP普及组——模拟赛D组
@_@ 前言 写博客时间 2018/1/30 22:36. 感想:出数据的dalao我服! 正题 题目1:二项式展开式(jzoj2254) 输入一个整数,求展开(a+b)^n.展开方式为 (a+b)^ ...
- 【普及组模拟赛】家族
题目描述 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏.现在给你岛上的 ...
最新文章
- mysql dba失业_DBA要失业了?AI优化水平超DBA老炮儿
- Python+Selenium学习笔记10 - send_keys上传文件
- java web 程序---javaBean
- [学习]啦啦外卖定位修复,商家经纬度保存修复
- SnakeYaml 反序列化的一个小 trick
- 猜你喜欢”推荐算法大赛冠军分享
- 可口可乐中国联袂青年志发布《中国青年「在乎力」报告》
- 简述主成分分析法的基本步骤_主成分分析的基本步骤
- 商业级web阅读器项目(下下)
- 看计划排产软件在纺织业的应用
- Java项目:springboot ERP管理系统
- code::blocks自动补全诸如socket或者其它一些库中的函数
- 记录element ui dialog弹框生命周期问题
- Adobe Acrobat XI Pro 2019安装教程
- python3 模拟登陆_python3作业:模拟登录
- 第六章.决策树(Decision Tree)—CART算法
- 解决BUG:Incorrect string value: ‘\xAC\xED\x00\x05~r...‘ for column ‘XX‘ at row 1 Query
- ugui 转轮_(搬运工)unity3D的FingerGestures插件
- TypeError: cannot astype a timedelta from [timedelta64[ns]] to [int32]
- w10用计算机卸载,Win10专业版电脑里的软件如何卸载干净?
热门文章
- 深度学习与计算机视觉教程(7) | 神经网络训练技巧 (下)(CV通关指南·完结)
- mac 如何安装 wget
- delphi 实现科学计数法
- 《五分钟商学院》个人篇学习总结(下)
- RF 操作页面滚动条上下滚动
- Windows: 如何调整C盘分区大小
- python绝对值编程_python求绝对值的三种方法小结
- TIFF图像文件格式详解
- 劳务派遣计算机信息管理系统,劳务派遣人员信息管理系统
- android支付宝运动修改器,一键修改支付宝运动步数-修改支付宝运动步数工具下载不要root手机版-西西软件下载...