hdu5236 Article(贪心+概率dp)

news/2024/11/24 1:59:29/

hdu5236

题目

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

思路

dp[i]表示敲i个字符的期望,不考虑保存的情况的dp
dp[i]=dp[i-1]+p*(1+dp[i])+(1-p);
化简为: dp[i] = (dp[i-1] + 1) / ( 1- p)
然后贪心枚举保存次数,如果不能均匀分段,那么要利用贪心做成一些是x的段,一些是x+1的段。

代码

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <algorithm>using namespace std;
typedef long long ll;int n,x;
double p;
double dp[100010];int main()
{int T,kase=1;scanf("%d",&T);while(T--){scanf("%d%lf%d",&n,&p,&x);for(int i=1; i<=n; i++) dp[i]=(1+dp[i-1])/(1-p);double ans=0x3f3f3f3f;for(int i=1; i<=n; i++){int cnt=n%i;ans=min(ans,x*i+dp[n/i]*(i-cnt)+dp[n/i+1]*cnt);}printf("Case #%d: %.6lf\n",kase++,ans);}return 0;
}

http://www.ppmy.cn/news/165459.html

相关文章

JZOJ 5236. 【NOIP2017模拟8.7A组】利普希茨

5236. 【NOIP2017模拟8.7A组】利普希茨 (File IO): input:lipschitz.in output:lipschitz.out Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits Description Input 输入文件名为lipschitz.in。 第一行一个整数n。 接下来一行n个整数&#xff0c;描述序列…

[jzoj5236]【NOIP2017模拟8.7A组】利普希茨

这道像数据结构的结论题传送门 我觉得这断不能怪我 一上来给出操作种类和 Log 形式的数据范围有如套路一般 Solution 60p 容易想到分治 对于整个序列&#xff0c;可以割作三份&#xff0c;分界点为最大值和最小值 因为 如果有一个 (i,j) 跨过了 分界点 k 那么 (i,k)|…

【贪心】hdu5236

题意 DRD经常使用一个文本处理软件&#xff0c;这个软件每输入一个字符就有一定的概率(p)崩溃&#xff0c;并且丢失上次保存之后的所有数据。执行一次保存需要x字符的代价&#xff08;但是不会崩溃&#xff09;问在最优策略下&#xff0c;输入字符的期望是多少 做法 一开始想到…

HDU5236 Article(期望dp)

Article 传送门1传送门2 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…

英韧IG5236开卡工具的量产使用教程,IG5236固态开卡简单过程

英韧IG5236固态开卡工具是一款用于量产的工具&#xff0c;可以帮助用户快速对固态硬盘进行开卡&#xff0c;提高生产效率。本教程将详细介绍如何使用IG5236固态开卡工具进行量产。 第一步&#xff1a;准备工作 首先&#xff0c;需要准备好以下材料&#xff1a; 1. IG5236固态…

HDU 5236 Article(概率DP)

http://acm.hdu.edu.cn/showproblem.php?pid5236 题意&#xff1a;现在有人要在文本编辑器中输入n个字符&#xff0c;然而这个编辑器有点问题。 在i0.1s&#xff08;i>0&#xff09;的时刻可以输入一个字符。 在i0.9s&#xff08;i>0&#xff09;的时刻系统可能会崩溃&a…

Article HDU - 5236(概率DP)

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

概率dp hdu 5236

说好听一点又一次的涨姿势了&#xff0c;说难听一点又被虐的体无完肤。 感觉这道题难&#xff0c;首先连题目样例都没读懂。 算了直接上代码。 #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<iostream> #in…