HDU 5236 Article [概率DP]

debian linux系统安装教程,Debian 10(Buster)安装过程图文详解 Debian 项目发布了它的最新稳定版 Debian 10,其代号是 “Buster”,这个发布版将获得 5 年的支持。Debian 10 可用于 32 位和 64 位系统。这个发布版带来很多新的特色,列出下面一些特色:引入新的 Debian 10 的主题 “FuturePrototype”新版本的电脑桌面环境 GNOME 3.30、Cinnamon 3.8、KDE Plasma 5.14、MAT... 阅读详情

Description

As the term is going to end, DRD begins to write his final article. 

DRD uses the famous Macrohard's software, World, to write his article. Unfortunately this software is rather unstable, and it always crashes. DRD needs to write  characters in his article. He can press a key to input a character at time , where  is an integer equal or greater than 0. But at every time  for integer  strictly greater than 0, World might crash with probability  and DRD loses his work, so he maybe has to restart from his latest saved article. To prevent write it again and again, DRD can press Ctrl-S to save his document at time . Due to the strange keyboard DRD uses, to press Ctrl-S he needs to press  characters. If DRD has input his total article, he has to press Ctrl-S to save the document. 

Since World crashes too often, now he is asking his friend ATM for the optimal strategy to input his article. A strategy is measured by its expectation keys DRD needs to press. 

Note that DRD can press a key at fast enough speed. 
 

Input

First line: an positive integer  indicating the number of cases. 
Next T lines: each line has a positive integer , a positive real , and a positive integer . 
 

Output

For each test case: output ''Case #k: ans'' (without quotes), where  is the number of the test cases, and  is the expectation of keys of the optimal strategy. 
Your answer is considered correct if and only if the absolute error or the relative error is smaller than . 

题意:
题意非常难懂,最后看了别人的表述才明白:你现在要打n个字符,但是程序随时可能会崩溃。
你可以在恰当的时机同时按下X个键用来保存,崩溃后,会从最后一次保存的情况继续开始打字。
解法

可以考虑概率DP,dp(i)表示不保存直接打到i个字符所需要按键数期望
有公式:d(i)=d(i−1)+1+p⋅d(i)

化简得:d(i)=11−pd(i−1)+11−p

发现是等比数列,几何倍增长,所以DP前几百个就好了,否则就暴double了。

然后枚举分成几段保存,这几段肯定是尽可能均匀(理由同上),然后直接计算期望就好了。(枚举段的最长长度是不对的,因为一个最长长度可能对应多种分段的方案)

代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<iostream>
#include<stdlib.h>
#include<set>
#include<map>
#include<queue>
#include<vector>
#include<bitset>
#pragma comment(linker, "/STACK:1024000000,1024000000")
template <class T>
bool scanff(T &ret){ //Faster Input
    char c; int sgn; T bit=0.1;
    if(c=getchar(),c==EOF) return 0;
    while(c!='-'&&c!='.'&&(c<'0'||c>'9')) c=getchar();
    sgn=(c=='-')?-1:1;
    ret=(c=='-')?0:(c-'0');
    while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
    if(c==' '||c=='\n'){ ret*=sgn; return 1; }
    while(c=getchar(),c>='0'&&c<='9') ret+=(c-'0')*bit,bit/=10;
    ret*=sgn;
    return 1;
}
#define inf 1073741823
#define llinf 4611686018427387903LL
#define PI acos(-1.0)
#define lth (th<<1)
#define rth (th<<1|1)
#define rep(i,a,b) for(int i=int(a);i<=int(b);i++)
#define drep(i,a,b) for(int i=int(a);i>=int(b);i--)
#define gson(i,root) for(int i=ptx[root];~i;i=ed[i].next)
#define tdata int testnum;scanff(testnum);for(int cas=1;cas<=testnum;cas++)
#define mem(x,val) memset(x,val,sizeof(x))
#define mkp(a,b) make_pair(a,b)
#define findx(x) lower_bound(b+1,b+1+bn,x)-b
#define pb(x) push_back(x)
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;


double dp[1111];
int main(){
    tdata{
        int n;
        double tx;
        double p;
        scanff(n);scanff(p);scanff(tx);
        dp[0]=0.0;
        int num=0;
        rep(i,1,1000){
            num++;
            dp[i]=(dp[i-1]+1.0)/(1.0-p);
            if(dp[i]>(llinf)/10.0)break;
        }

        int k=n/num+1;
        double ans=llinf*1.0;
        rep(i,k,n){
            int len=n/i;
            int x=n%i;
            int y=i-x;
            ans=min(ans,double(x)*dp[len+1]+double(y)*dp[len]+double(tx)*double(i));
        }
        printf("Case #%d: %lf\n",cas,ans);
    }
}
/*
3 5 3
2 2 3
2 1 3
2 1 2
3 2 3 1
2 1 2

3 2 2
3 2 3 1
3 1 2 3

0 0 0
*/


基于FFT的轴承故障诊断 - MATLAB代码和详细解释 最后,我们可以根据异常特征的位置和特征分析来确定轴承故障的类型。最后,我们可以根据异常特征的位置和特征分析来确定轴承故障的类型。因此,通过分析频谱图,我们可以识别轴承故障的特征。因此,通过分析频谱图,我们可以识别轴承故障的特征。我们可以选择适当的阈值,并在频谱图上标记异常特征。通过这种基于FFT的轴承故障诊断方法,我们可以快速、准确地检测和诊断轴承故障。接下来,我们将应用FFT来获取振动信号的频谱信息,频谱显示了信号在不同频率上的能量分布。通过将异常特征标记在频谱图上,我们可以直观地识别轴承故障的存在。 阅读详情

相关推荐

信息隐藏 数字图像空域隐写与分析技术的实现

【代码】信息隐藏 数字图像空域隐写与分析技术的实现。

Yungoal的博客 468

HDU 5236 Article

Article Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5236 Description As the term is going to end, DRD begins to write his final a

樱花满地集于我心,楪舞纷飞祈愿相随 399

奇迹MU单机版开服全流程:从零搭建到分辨率调整(附GM工具使用技巧)

本文详细介绍了奇迹MU单机版从零搭建到分辨率调整的完整流程,包括环境配置、服务端启动、GM工具使用技巧等关键步骤。特别针对现代高分辨率显示器提供了优化方案,帮助玩家轻松搭建个性化游戏环境,重温经典MMORPG的独特魅力。

b3n4m5q6w7的博客 678

Hdu 5236 Article【思维+期望Dp】

Article Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 978    Accepted Submission(s): 360 Problem Description As the term is going

mengxiang000000 518

2.1 量子精密测量:SERF原子陀螺仪中的核自旋-电子自旋强耦合机制

本文深入解析了SERF原子陀螺仪中核自旋-电子自旋强耦合机制的核心原理与应用。通过量子精密测量技术,SERF陀螺仪实现了超高精度的惯性导航,其独特的磁场自补偿和拉莫尔进动特性使其在弱磁场环境下表现出色。文章还探讨了关键技术突破和前沿进展,展示了量子精密测量在惯性导航领域的巨大潜力。

kotlin6android的博客 210

从零到英雄:如何用FPGA和AD9288打造你的第一台便携式示波器

本文详细介绍了如何利用FPGA和AD9288 ADC芯片从零开始打造一台高性能便携式示波器。通过硬件架构设计、高速数据采集系统实现及信号处理与显示系统的开发,读者可以掌握400Msps采样率的实现方法,并了解关键器件选型与系统优化技巧。

jjj34的博客 277

hdu5236 Article

题意:你要输入一篇n个字的文章,每到i+0.1s时可以输入一个字符,每到i+0.9s时有p的概率会奔溃,回到开头或者上一个存盘点,每到第i秒有一次机会可以选择按x个健存盘或者不存,打印完整篇文章之后必须存盘一次才能算完成,求打完之后的最小期望 思路:令dp[i]为打完i个字符的期望,那么不考虑存盘的情况下有dp[i]=dp[i-1]+p*(1+dp[i])+(1-p),意思是要考虑第i个字符,首

围巾的ACM博客 858

Unity ProBuilder(自己创建斜面、拐角)

ProBuilder基础实例

weixin_56537692的博客 1551

概率DP——HDU 5236

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5236 题意:现在有一个特殊的键盘,在 i+0.1i+0.1 秒可以输入一个数,在 i+0.9i+0.9 秒有 pp 的概率可能崩溃导致未保存的字符全部丢失,在ii秒可以选择保存,每次保存需要按下 xx 个键, 求输入N个字符在最优策略的情况下的期望按键次数。 分析: 我们假设输入 ii 个字符的期望按键

FeBr2的博客 645

LC滤波器设计实战:从理论计算到PCB布局的完整指南

滤波器是信号处理与电路设计中的基础组件,用于从复杂信号中提取特定频率分量或抑制干扰噪声。其核心原理基于电感(L)和电容(C)等无源元件的频率选择特性,通过特定的网络拓扑实现幅频与相频特性的塑造。在工程实践中,LC滤波器因其结构简单、可靠性高、成本可控,成为射频、模拟及电源电路中的关键技术手段。其设计价值在于将理论网络综合转化为可量产、高性能的硬件解决方案,广泛应用于通信系统、音频处理、电源净化和传感器信号调理等场景。本文聚焦于LC滤波器的工程设计全流程,深入剖析了巴特沃斯、切比雪夫等经典类型的选型权衡,并重

weixin_34194829的博客 273

飞牛fnNAS免费内网穿透之zerotier篇

本文介绍了如何通过ZeroTier实现飞牛NAS的远程文件共享。首先,用户需要在ZeroTier官网注册账号并创建虚拟局域网。接着,分别在Windows和飞牛NAS上安装ZeroTier客户端,并通过SSH登录飞牛NAS进行配置。安装完成后,用户可以在ZeroTier页面中授权设备加入虚拟局域网。最后,通过Windows的“网上邻居”功能访问飞牛NAS的共享文件夹,实现跨局域网的文件共享。这种方法不仅适用于文件共享,还可以用于打印机共享和远程桌面连接。

dgnankai的专栏 2465

Article HDU - 5236(概率DP)

题目 https://cn.vjudge.net/problem/HDU-5236 题意 一个打字机 在打完一个字后会有p概率坏掉,只能保留之前保存的,保存需要x秒并且期间打字机不会坏掉 问一个人打n个字采取什么策略需要的时间期望最小是多少 思路 期望DP dp[i] = (dp[i-1] + 1) / (1 - p) 打印i个字 = (打印(i-1)个期望时间 + 1)/ (成...

七九河开的博客 261

【OpenClaw从入门到精通】第15篇:国产芯片适配实战——昇腾/龙芯/天数智芯全流程跑通(2026实测版)

2026年国产芯片AI适配迎来爆发期,OpenClaw作为轻量化本地AI智能体,已实现华为昇腾、龙芯、天数智芯等主流国产平台的全流程适配。本文基于实测数据,从背景解析、核心原理、算法优化、实操部署四个维度,详细讲解OpenClaw在香橙派昇腾开发板、龙芯3B6000M、天数彤央TY1200及联想开天X7h的部署流程,同时提供统一工具玄武CLI的使用指南。文中包含完整代码、执行结果、避坑技巧及虚拟实战案例,兼顾新手入门与进阶提升,帮助读者快速掌握国产芯片上的本地AI部署能力,实现数据隐私保护与低成本AI落地。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1006

hdu 5236 Article 概率dp

Article Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5236 Description As the term is going to end, DRD begins to write his final art

K键盘里的青春K 466

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

hdu5236 Article(贪心+概率dp)

hdu5236题目(抄别人的http://www.cnblogs.com/qscqesze/p/4543740.html)要求输入一篇N个字符的文章,对所有非负整数i: 每到第i+0.1秒时可以输入一个文章字符 每到第i+0.9秒时有P的概率崩溃(回到开头或者上一个存盘点) 每到第i秒有一次机会可以选择按下X个键存盘,或者不存 打印完整篇文章之后必须存盘一次才算完成 输入多组N,P,X选择

天道酬勤 387

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDU 5236 Article(概率DP)

http://acm.hdu.edu.cn/showproblem.php?pid=5236 题意:现在有人要在文本编辑器中输入n个字符,然而这个编辑器有点问题。 在i+0.1s(i>=0)的时刻可以输入一个字符。 在i+0.9s(i>0)的时刻系统可能会崩溃,需要重新开始或者从上次保存点开始。 在i时刻可以选择保存,保存需要按x个键(假设按键速度极快)。最后完成时必须保存一...

weixin_30645617的博客 162

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU 5236 Article(概率dp+贪心)

Problem Description As the term is going to end, DRD begins to write his final article.DRD uses the famous Macrohard’s software, World, to write his article. Unfortunately this software is rather unst

Code_KK的博客 815

HDU 5236 Article(概率DP+贪心 待解决)

Article Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 917    Accepted Submission(s): 328 Problem Description As the term is going

AI蜗牛之家 1095

hdu - 5236 Article(2015上海大都会赛)概率dp

Article Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 313    Accepted Submission(s): 95 Problem Description As the term is going to e

龙崎的专栏 1367

HDU 5236 Article 经典概率dp 由一种状态推到另一种状态

题意:DRD经常使用一个文本处理软件,这个软件每输入一个字符就有一定的概率(p)崩溃,并且丢失上次保存之后的所有数据。执行一次保存需要x字符的代价(但是不会崩溃)问在最优策略下,输入字符的期望是多少 思路: 建立状态dp[i], 表示敲出i个字符的期望次数, 那么有 dp[i] = dp[i-1] + p*(1 + dp[i]) + (1-p); 解释一下: 敲出i个字符, 首先得敲出

became_a_wolf的专栏 307

概率dp hdu 5236

说好听一点又一次的涨姿势了,说难听一点又被虐的体无完肤。 感觉这道题难,首先连题目样例都没读懂。 算了直接上代码。 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define l

driver13的博客 395

HDU5236 Article(期望dp)

Article

ZYL的博客 329

HDOJ 5236 Article

HDOJ 5236 Article 水概率dp

ACdream 351

Hdu 5236 Article(dp)

题目链接 Article Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 404    Accepted Submission(s): 119 Problem Description As the term is g

madaidao的专栏 658
上一篇: HDU 5456 Matches Puzzle Game [数位DP]
下一篇: POJ 3744 Scout YYF I [概率DP]
GrassTreeFlower
博客等级 码龄11年 14粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值