hdu 4405 Aeroplane chess

2023-11-06

Problem

acm.hdu.edu.cn/showproblem.php?pid=4405

vjudge.net/contest/151678#problem/R

Reference

bbs.csdn.net/topics/380193920(C++控制小数位数)

Meaning

一行格子编号从 0 到 n,开始在 0 号格,每次掷骰子(1 ~ 6),投到多少就向前走多少步;有些格上有飞机,可以带他走到后面的某个点,如果那个点又有飞机,就可以连飞(被带飞时不用掷骰子)。求走到或超过第 n 格要掷骰子的次数的期望。

Analysis

dp[i]:到了 i 号格后,为达目标仍需掷骰子的期望次数。

dp[i] = {

    ( dp[i+1] + dp[i+2] + … + dp[i+6] ) / 6 + 1,i 号格没飞机;

    dp[j],i 号格有飞机,且最终飞到 j 号格

}

顺便学了一波C++控制小数位数的方法…

Code

#include <cstring>
#include <iostream>
#include <iomanip>
using namespace std;
const int N = 100000, M = 1000;

int jp[N+1];
double dp[N+6];

int main()
{
	ios::sync_with_stdio(false);
	cout.setf(ios::fixed);
	cout.precision(4);
	int n, m;
	while(cin >> n >> m, n||m)
	{
		memset(jp, 0, sizeof jp);
		for(int i=0, x, y; i<m; ++i)
		{
			cin >> x >> y;
			jp[x] = y;
		}
		for(int i=n-1; ~i; --i)
			if(jp[i] && jp[jp[i]])
				jp[i] = jp[jp[i]];
		for(int i=n; i<n+6; ++i)
			dp[i] = 0.0;
		for(int i=n-1; ~i; --i)
			if(jp[i])
				dp[i] = dp[jp[i]];
			else
			{
				dp[i] = 0.0;
				for(int j=1; j<=6; ++j)
					dp[i] += dp[i+j];
				dp[i] /= 6.0;
				dp[i] += 1.0;
			}
		cout << dp[0] << '\n';
		/* 或者这样输出:
		 * cout << setiosflags(ios::fixed) <<
		 * 			setprecision(4) << dp[0] << '\n';
		 */
	}
	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hdu 4405 Aeroplane chess 的相关文章

  • hdu 1827 Summer Holiday 强连通分量缩点

    题目 http acm hdu edu cn showproblem php pid 1827 题意 听说lcy帮大家预定了新马泰7日游 Wiskey真是高兴的夜不能寐啊 他想着得快点把这消息告诉大家 虽然他手上有所有人的联系方式 但是一个
  • Human Gene Functions

    http acm hdu edu cn showproblem php pid 1080 Problem Description It is well known that a human gene can be considered as
  • JAVA高精度乘法模板(大数乘以一个小数)

    1 思路 高精度乘法是大数乘以一个int型的小数 和前面模拟不同 这里不是一位一位的乘 而是a一位乘以整个数b 当a乘到最高位且没有进位就结束了 2 代码模板 方法一 a为大数 倒序存储 b为int型 返回a b的结果 public sta
  • 【CSDN竞赛第17期】简要题解 92.5分

    目录 1 判断胜负 简单字符串 题目 题解 比赛时代码 2 买铅笔 简单算数 题目 题解 代码 3 拯救爱情 得分70 题目 题解 比赛时代码 4 拯救公主 中国剩余定理 或 模拟 题目 题解 模拟 中国剩余定理 比赛时代码 1 判断胜负
  • stl_set

    begin 返回指向第一个元素的 迭代器 clear 清除所有元素 size 集合中元素的数目 count 返回某个值元素的个数 empty 如果集合为空 返回true 真 end 返回指向最后一个元素之后的迭代器 不是最后一个元素器 in
  • “Shopee杯” 武汉大学(网络预选赛)D - DIY Masks at Home

    Shopee杯 武汉大学 网络预选赛 D DIY Masks at Home 题目链接 Click 时间限制 C C 5秒 其他语言10秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 题
  • hdu 6208 The Dominator of Strings

    Problem acm hdu edu cn showproblem php pid 6208 Meaning 有 n 个字符串 问是否能找到其中一串 使得其它串都是它的子串 Analysis 如果存在这个串 那它一定是 n 个中的最长串
  • hdu 5792 World is Exploding 2016 Multi-University 5

    Problem acm hdu edu cn showproblem php pid 5792 题意 给一个序列 V 问有多少个由下标组成的四元组 a b c d 满足 a b c d a lt b c lt d Va lt Vb Vc g
  • 数的划分(递归)

    整数划分是另外的问题 题目描述 Description 将整数n分成k份 且每份不能为空 任意两种划分方案不能相同 不考虑顺序 例如 n 7 k 3 下面三种划分方案被认为是相同的 7 1 1 5 7 1 5 1 7 5 1 1 问有多少种
  • [ACM] 1016 Prime Ring Problem (深度优先搜索)

    Prime Ring Problem Problem Description A ring is compose of n circles as shown in diagram Put natural number 1 2 n into
  • 动态规划问题——最长上升子序列(LIS)(一)

    原文转载自我的博客benym cn 推荐链接 动态规划问题 最长上升子序列 LIS 二 动态规划问题 最长上升子序列 LIS 三 如 求 2 7 1 5 6 4 3 8 9 的最长上升子序列 我们定义d i i 1 n 来表示前i个数以A
  • ACM-子串(字符串处理)

    问题描述 有一些由英文字符组成的大小写敏感的字符串 请写一个程序 找到一个最长的字符串 x 使得 对于已经给出的字符串中的任意一个 y x 或者是 y 的子串 或者 x 中的字符反序之后得到的新字符串是 y 的子串 输入数据 输入 输入的第
  • Palindrome subsequence【区间DP+冗斥】

    题目链接HDU 4632 题目让我们求给定的一段字符串上回文串的长度 一个数也算是回文串 于是我就想怎样去找其中的规律 我举了些例子 先是从相同的字符串开始举例 aaa 对于aaa dp 1 1 1 dp 2 2 1 dp 1 2 dp 1
  • [HDU 5079][2014 Asia AnShan Regional Contest]Square(DP套DP)

    题目链接 http acm hdu edu cn showproblem php pid 5079 题目大意 给你一个 n n n 8 n middot n n le 8 的棋盘 上面有一些格子必须是黑色 其它可以染黑或者染白 对于一个棋盘
  • 备战2023蓝桥国赛-传纸条

    题目描述 解析 这道题想了我好久 一开始我是想假如只走一条路线 从 1 1 走到 m n 这种问题该怎么解决呢 针对这种问题我是设了dp k i j 表示走了k步到达 i j 的好心程度之和的最大值 然后根据这个来写出转移方程来计算 后面就
  • 备战2023蓝桥国赛-饼干

    题目描述 解析 这道题我想了很多种解决方法 但无一例外都失败了 实在是按照常规线性DP的思路真的想不出来 看了题解之后才知道它是分为三步解决这个问题的 第一步 缩小最优解的范围 先用贪心将最优解缩小到某个较小的范围内 再DP求出精确的最优解
  • hdu1827Summer Holiday【tarjan强连通分量解决最小联系费用】

    1A 撒花 这比买买买开心多了 思路 既然是强连通分量的题 很容易想到形成的东西是一坨一坨的 哈哈 然后如果某一坨入度为0 那么很不幸 这一坨只能直接被威士忌通知 至于具体通知这一坨中的哪一个 枚举一遍就知道了 最后把话费求和 感觉强连通分
  • AtCoder Beginner Contest 332 G. Not Too Many Balls(最大流转最小割 dp)

    题目 n n lt 500 种球 第i种有ai 0 lt ai lt 1e12 个球 m m lt 5e5 个盒子 第j个能放bj 0 lt bj lt 1e12 个球 特别地 第j个盒子最多能放i j个第i种球 求m个盒子能放的最多的球的
  • 插入数计数类 / 转为换行类dp:AT_agc024_e

    https www luogu com cn problem AT agc024 e 首先题目可以转化成每次插入一个数 满足字典序递增 如果只考虑暴力dfs 先别上dp 想想怎么合法和不算重 合法 也就是插入数有3种情况 插到末尾 插到比他
  • 插入数计数类 / 转为换行类dp:AT_agc024_e

    https www luogu com cn problem AT agc024 e 首先题目可以转化成每次插入一个数 满足字典序递增 如果只考虑暴力dfs 先别上dp 想想怎么合法和不算重 合法 也就是插入数有3种情况 插到末尾 插到比他

随机推荐

  • 眼底图像血管分割数据集_一个图像分割任务的Hello World项目(UNet+眼底血管分割)...

    庖丁解牛式的学习 才是真正的事半功倍 这是CVHub公众号的第七篇原创文章 也是 学术小白也能看懂的学术进阶专栏 计算机视觉方向 的第七篇文章 导读 在基于深度学习的医学影像分割任务中 基本在哪都能看到 U Net 的影子 这是一篇发表于
  • Protocbuf使用和安装

    Protocol buffers和mxl一样在序列化数据结构时很灵活 高效和智能 但是它的优势在于定义文件更小 读取速度更快 使用更加简单 目前protocol buffers支持C java和python三种语言并且独立于平台 linux
  • 了解硬盘的电路组成部分

    一 硬盘电路组成 硬盘电路板是将硬盘内部和电脑主板相互连接的中介 它将接口传送过来的电信号转换成磁信息记录到硬盘盘片上 写操作 反过来也可以将硬盘盘片上的磁信息转换成电信号传送到接口 读操作 硬盘电路板是裸露在外面的 因此也是比较容易出现故
  • Idea安装免注册版ChatGPT

    文章目录 一 前期准备 二 开始使用 一 前期准备 1 准备Idea开发软件并打开 VS Code同理 2 Ctrl Alt S 快捷键调出Settings窗口 如图 3 找到NexChatGPT 此插件不需要注册 可以直接使用 高级一些的
  • java中Synchronized和Lock的区别

    Synchronized和Lock的区别 原始构成 synchronized关键字属于JVM层面的 通过monitorenter monitorexit指令实现 底层是通过monitor对象来完成 其实wait notify等方法也依赖mo
  • Linux下安装QT4.3.2

    安装qt是因为我刚安装过mplayer想装个前端上网 一查 很多都推崇用smplayer 我也就下决心装上 刚开始一直都装不上 后来静心读了读Install文件才明白要装smplayer必须要有qt4 2或者更高版本 用rpm qa qt才
  • 短视频矩阵营销系统技术开发者开发笔记分享

    一 开发短视频seo抖音矩阵系统需要遵循以下步骤 1 确定系统需求 根据客户的需求 确定系统的功能和特点 例如用户注册登录 视频上传 视频浏览 评论点赞等 2 设计系统架构 根据系统需求 设计系统的整体架构 包括前端 后端 数据库等组件的功
  • 使用.NET构建登录网站

    摘要 本文将介绍如何使用 NET框架构建一个简单的登录网站 并附带每段代码的解释和讲解 帮助读者了解相关概念和功能 引言 在现代互联网应用中 登录系统是一个常见的功能模块 本文将使用 NET框架来创建一个简单的登录网站 演示如何进行用户认证
  • QT UDP简单的通信示例

    UDP user datagram protocol 即用户数据协议 是一个轻量级的 不可靠的 面向数据报的无连接协议 在qt中提供了QUdpSocket类来进行UDP数据报的发送和接收 在Pro中加入network模块 因为upd是无连接
  • 线性代数基础(变换)

    本文中的图片 公式等来自 GMAES101 在此向作者表达真挚的感谢 一 为什么要引入齐次坐标 平移变换不能用一个矩阵来表示 它不是线性变换 在缩放或者旋转等变换操作后 需要单独用一个向量来表示 这样表示起来就不方便了 根据以上约定 会有以
  • spring boot配置druid(德鲁伊)

    spring boot配置druid 德鲁伊 关于druid的介绍请看 阿里巴巴温少访谈 1 引入相关依赖 全部依赖是上一篇spring boot mybatis依赖的基础上 再加上下边的依赖 如下
  • [note] deep learning tensorflow lecture 1 notes 深度学习笔记 (1)

    1 logistic classifier model W X b Y where W is the Weights Vector X is input vector b is bias and Y is output Y the outp
  • Gamemaker studio2经验(2)——TCP联机

    问题概述 众所周知gamemaker是一款制作2d游戏的优秀引擎 但是落后的弱联网机制始终是一个坑 所幸在gms2中 yoyogames集团加入了TCP的联机机制 这也为gm系列引擎制作联网游戏带来了希冀 下面用一个最简单的 红蓝球游戏 作
  • spring boot打jar包和打war包的区别作用

    spring boot既可以打成war发布 也可以找成jar包发布 说一下区别 jar包 直接通过内置tomcat运行 不需要额外安装tomcat 如需修改内置tomcat的配置 只需要在spring boot的配置文件中配置 内置tomc
  • shell函数【参数传递及输入输出】&内置函数

    Linux shell脚本基础3 shell函数 参数传递及输入输出 内置函数 函数定义 1 退出状态 1 参数传递 2 标准IO 2 脚本调试 2 AND OR 3 内置命令补充 3 函数定义 函数定义 在Shell 中 函数就是一组命令
  • 数据可视化:读取csv文件绘制图表

    怎样去读取csv文件 怎样去读每一行的某一列 提取并读取数据 读取每天的最高气温 import csv filename sitka weather 07 2014 csv with open filename as f reader cs
  • 深入理解微分、积分电路!搞懂PID控制原理就这么简单!

    很多朋友觉得PID是遥不可及 很神秘 很高大上的一种控制 对其控制原理也很模糊 只知晓概念性的层面 知其然不知其所以然 那么本期从另类视角来探究微分 积分电路的本质 意在帮助理解PID的控制原理 PID P表示比例控制 I表示积分控制 D表
  • Linux异步通知,以及Qt的调用

    参考帖子 http bbs elecfans com jishu 913446 1 1 html
  • Python在26个字母大小写和9个数字组成的列表中随机生成8位密码。

    from random import def makepasswd a b 定义一个生成密码的函数 可先先看main 函数 frequency 0 用于计算生成密码的个数 Allpasswd 用于存放生成的密码 while frequenc
  • hdu 4405 Aeroplane chess

    Problem acm hdu edu cn showproblem php pid 4405 vjudge net contest 151678 problem R Reference bbs csdn net topics 380193