POJ-1243 One Person (经典级dp)猜数字

飞牛fnNAS存储模式RAID 5数据恢复 中介绍了fnNAS存储空间的几个模式,细心的网友应该能感受到,我是非常推崇RAID 5的。但我认为,一般人出现1块硬盘损坏后,就能够赶紧采取处理措施了,再高的容灾等级也无法满足这个用户的需求了。》就完成了飞牛NAS存储空间的说明,包括了如何创建、怎么选择空间模式、RAID 5 硬盘故障后的更换、系统更换/重装后数据盘的恢复等等。在VMware中新建虚拟机,安装好fnNAS后,再向虚拟机添加“已有硬盘”(这就是所谓崩溃虚拟机的数据盘),此时新的fnNAS出现提示。在“选择要添加的硬盘”中,选择刚添加硬盘。 阅读详情

In the game show "The Price is Right", a number of players (typically 4) compete to get on stage by guessing the price of an item. The winner is the person whose guess is the closest one not exceeding the actual price. Because of the popularity of the one-person game show "Who Wants to be a Millionaire",the American Contest Management (ACM) would like to introduce a one-person version of the "The Price is Right". In this version, each contestant is allowed G (1 <= G <= 30) guesses and L (0 <= L <= 30)lifelines. The contestant makes a number of guesses for the actual price. After each guess, the contestant is told whether it is correct, too low, or too high. If the guess is correct, the contestant wins. Otherwise,he uses up a guess. Additionally, if his guess is too high, a lifeline is also lost. The contestant loses when all his guesses are used up or if his guess is too high and he has no lifelines left. All prices are positive integers.  
It turns out that for a particular pair of values for G and L, it is possible to obtain a guessing strategy such that if the price is between 1 and N (inclusive) for some N, then the player can guarantee a win.The ACM does not want every contestant to win, so it must ensure that the actual price exceeds N.At the same time, it does not want the game to be too diffcult or there will not be enough winners to attract audience. Thus, it wishes to adjust the values of G and L depending on the actual price. To help them decide the correct values of G and L, the ACM has asked you to solve the following problem.Given G and L, what is the largest value of N such that there is a strategy to win as long as the price is between 1 and N (inclusive)?  

Input

The input consists of a number of cases. Each case is specified by one line containing two integers G and L, separated by one space. The end of input is specified by a line in which G = L = 0.  

Output

For each case, print a line of the form:  
Case c: N  
where c is the case number (starting from 1) and N is the number computed.  

Sample Input

Sample Output

Case 1: 3
Case 2: 6
Case 3: 847
Case 4: 127

不得不说,看了题解之后才感受到这题的巧妙。

题目大意:

有一种猜数字的游戏,你有G次机会以及L点生命值,游戏首先给定一个范围1~N,你要来猜在此范围内的一个数字X。你的每次猜测都会告诉你是猜高了还是低了,每次猜测都要损失一次猜测机会(即G--),但如果你猜的值比X高了,那么同时还要损失一点生命值(L--)。

现在主办人面临一个问题:若给定的范围太大,就有很有可能导致参赛者用尽机会和生命值也猜不到这个X;而范围太小的话又降低了趣味性。所以,需要你来帮忙,根据给定的G和L来确定一个尽量大的范围,同时确保该范围内的所有数字都是一定可以被猜到的。

解题思路:

设f(G,L)为有G次机会,L点生命值时最多可猜到 多少个数字 (注意此处的描述

猜数字我们都知道是要用二分法来猜. 首先,要考察G与L间的大小关系:

1)、若L=0,即一次都不可以猜高了,那么保险能猜到的方案就只有1、2、3、4。。。的一个一个往上猜,那么最多能猜到的数字个数也就是G

2)、若L>G,即可以猜高的次数比较多。可事实上,每次猜测都要耗费一点G,那么多出来的生命值也就没什么意义了,所以这种情况与L=G相同,即f(G ,G)

3)、若L<=G,那么,就要继续分类考虑。首先进行一次猜测(假设猜的是k),那么可能得到以下三种情况之一:

(1):猜低了。也就是说明正确答案大于k(此处可脑补一条以k为原点的数轴辅助理解),那么接下来的猜测就要相对于k往前(以数轴正方向为前),此时剩余G-1点机会,L点生命,也就是说可以再向前猜出f(G-1,L)个数字。

(2):猜高了。也就是说正确答案小于k,那么接下来就要相对于k向后猜,同理,可以再向后猜出f(G-1,L-1)个数字。

(3):恰好猜到~

总结下,即当L<=G时,f(G,L)=f(G-1,L)+f(G-1,L-1)+1

例如:

有2次机会(先不考虑生命值),就可以猜出1~3中所有数,有3此机会,就可猜出1~7

不过不要把思路局限为只能从1开始。比如有2次机会,也可以猜出5~7范围内给定的某个数,即是说有两次机会时, 可以猜出连续的3个数字 。那么3次机会时,就可以看作首先猜4,剩下2次机会,可以向前或向后猜3个数字,即范围为1~7;同理,若有三次机会,第一次猜的是0,那么就可以猜到-3~3。

代码:

#include<iostream>
#include<cstring>
#include<cstdio>

using namespace std;

int dp[35][35];

int f(int i,int j)
{
  if(i==0)	return 0;
  if(j==0)	return i;
  if(dp[i][j]>0)	return dp[i][j];

  dp[i][j]=f(i-1,j)+f(i-1,j-1)+1;

  return dp[i][j];
}

int main()
{
  int G,L,cas=0;
  while(cin>>G>>L)
  {
    if(G==0&&L==0)	break;
    ++cas;
    memset(dp,0,sizeof(dp));

    if(L==0)
    {
      printf("Case %d: %d\n",cas,G);
      continue;
    }
    if(L>G)	L=G;
    printf("Case %d: %d\n",cas,f(G,L));
  }
  return 0;
}
磁悬浮分子泵:起源、现状与未来趋势深度解析 摘要 磁悬浮分子泵作为高真空获取的关键设备,通过磁悬浮技术实现转子无接触高速运转,大幅提升了真空系统的性能和可靠性。本文系统梳理了分子泵从机械轴承到磁悬浮的技术演变历程,分析了当前行业格局及主要厂商产品特性,包括爱德华兹、普发真空等国际巨头的技术优势。研究进一步探讨了磁悬浮分子泵在半导体制造、科研设备等领域的核心应用,通过数学模型揭示了其性能参数关系。最后,展望了未来在智能化、节能化等方面的发展趋势,为相关领域的技术创新提供参考。 关键词:磁悬浮分子泵;高真空技术;半导体制造;科研设备;技术发展 阅读详情

相关推荐

标准工时精益化管理:理论、方法与技巧

ECRS工时分析软件是一款综合性软件,包含了IE软件、IE改善软件、工业工程软件、作业改善/业务改善软件、动作分析软件、作业分析软件、ECRS分析法、ECRS改善手法、时间测量软件、工时测量软件、标准工时计算软件等功能。理论上,标准工时是指在标准的工作环境下,完成一道加工工序所需要花费的人工时间。不同企业、不同工序需要的辅助作业时间和损耗时间各不相同,因此企业需要灵活运用标准工时公式进行计算。总之,标准工时的制定需要综合考虑多种因素,企业可以灵活运用本文介绍的方法和技巧来优化制定流程。

VIOOVI_ECRS的博客 846

POJ 1243 One Person(经典DP)

题意: 一个人去猜一个正整数,有G次机会,L个生命值。 每一次猜数,如果猜对,就成功。猜错的话,机会减1,若猜的数大于目标数,另外生命值再减1。机会用完,或者生命值减至-1,表示失败。 现给定G与L,问目标数在什么范围之内,可保证猜的人会胜利。 思路: 做这一题的时候不能被N这个数所迷惑,要用范围的概念去理解。 dp[i][j]表示i次机会,j个生命值,可以覆盖的数值范围 ...

weixin_30621919的博客 172

k8s集群部署私有镜像仓库

本文介绍了在Kubernetes集群中部署私有镜像仓库的完整方案。使用registry:2镜像创建Deployment,通过NodePort(30500)暴露服务,并采用hostPath(/data/registry)实现数据持久化。部署过程包括节点标记、YAML配置、资源创建及验证步骤,同时提供了Docker和Containerd两种环境下的详细使用方法,包括配置不信任私有仓库、镜像推送/拉取操作指南。该方案特别适合开发测试环境,为团队提供便捷的本地镜像管理能力。

weixin_42728286的博客 893

鹰蛋问题(poj1243验证)

题意:一个人去猜一个正整数,有G次机会,L个生命值。每一次猜数,如果猜对,就成功。猜错的话,机会减1,若猜的数大于目标数,另外生命值再减1。机会用完,或者生命值减至-1,表示失败。现给定G与L,问目标数在什么范围之内,可保证猜的人会胜利。 g #i

alven‘s bookcase 2559

【ROS】ROS局域网下多机通讯方法

最近工作中需要用到多机通讯,这里稍微总结一下使用方法。一、网络配置ifconfig这里举个例子,主机的IP地址为192.168.1.127,从机的IP地址为192.168.1.126;之后可测试一下能否互相ping通,成功后进行下一步。

weixin_43326110的博客 3360

别再自己写消息提示了!5分钟用WPF+Material Design打造专业级Snackbar(支持.NET 6)

本文为WPF开发者提供了一份快速集成专业级Snackbar消息提示的实战指南。通过引入MaterialDesignThemes开源库,在.NET 6 WPF项目中,仅需5分钟即可告别传统的MessageBox,实现遵循Material Design规范、动画流畅、支持队列管理的非侵入式Snackbar控件,显著提升应用的用户体验与现代化交互水平。

year5的博客 172

POJ-1243 One Person (经典级dp

题目大意: 有一种猜数字的游戏,你有G次机会以及L点生命值,游戏首先给定一个范围1~N,你要来猜在此范围内的一个数字X。你的每次猜测都会告诉你是猜高了还是低了,每次猜测都要损失一次猜测机会(即G--),但如果你猜的值比X高了,那么同时还要损失一点生命值(L--)。 现在主办人面临一个问题:若给定的范围太大,就有很有可能导致参赛者用尽机会和生命值也猜不到这个X;而范围太小的话又降低了趣味性。所以,需要你来帮忙,根据给定的G和L来确定一个尽量大的范围,同时确保该范围内的所有数字都是一定可以被猜到的。

今天天气不错 1236

QGis二次开发 —— 1.1、ubuntu24.04下搭建QGis3.40.12二次开发环境(附:全部问题解决方法)

QGis二次开发 —— 1.1、ubuntu24.02下搭建QGis3.40.12二次开发环境(附:全部问题解决方法)

250

poj 1243 One Person

动态规划 题意:让你猜一个物品的价格,猜低了或者猜高了都会提示你。G,L,表示你有G次机会猜一个数,如果猜错了,G会减少1次,如果你的错误是应该是猜高了,那么L也会少一次(猜低了L不会少)。如果G次机会都用完了,则输;若G次机会还有剩余,而L次机会用完了,这时再猜一个数,若猜高了,那么也输了。让你确定一个数字N,以保证在G,L的条件下,你一定能猜到[1,N]以内的任何一个数 1.如果L等于0,...

weixin_33918357的博客 127

基于LLM的电商数据分析系统

随着电商行业的蓬勃发展,每天都会产生海量的数据,这些数据包含了用户的行为信息、商品信息、销售数据等。如何从这些繁杂的数据中提取有价值的信息,为电商企业的决策提供支持,成为了一个关键问题。基于LLM的电商数据分析系统的目的就是利用大语言模型强大的自然语言处理和数据分析能力,对电商数据进行深入挖掘和分析,帮助企业了解市场趋势、用户需求、商品销售情况等,从而制定更加合理的营销策略、优化商品库存管理、提升用户体验等。本系统的范围涵盖了电商领域的多个方面,包括用户行为分析、商品分析、销售数据分析等。

AI Python 编程之道的博客 808

【数据集】3D-GloBFP:全球首个三维建筑轮廓数据集

【数据集】3D-GloBFP:全球首个三维建筑轮廓数据集

WW、forever的博客 1680

poj 1243 One Person(dp,记忆化搜索)

题目大意: 有一个人在猜数字,总共有G次猜测机会,L次猜高的机会。问他能够猜对的最大数字是什么。 如果猜错,那么G-1,如果是猜高了,那么需要额外L-1,当猜对或者G 一开始把题目理解成:猜低,G-1,猜高L-1,G变为初始值。但是样例都不过掉。 解题思路: 根据正确的题意,那么我们可以很容易想到一个状态转移方程:dp[i][j] = dp[i-1][j-1]+dp[i-1][j

Gavin的专栏 767

全志平台camera驱动开发(3)MIPI接口camera驱动开发

详细沟通: 请加video_D 目前开发过的allwinner平台: V5/V3/V3S/V40/T3/T7/A64等 开发过的mipi sensor: sony:imx317、imx477、imx274、imx258、imx286、imx307、imx385等 ov:ov2718、ov12895、ov2710等 ar: ar0238等 国产:gc1024、gc1034...

jzwjzw19900922的博客 9028

POJ 1243 One Person

题意: 猜数字, 给定 G, L, G 表示可以猜的次数, 每猜一次, G减一, 假如猜的 number 大于 target, L 还需减一, 当 L == -1 或者 G==0 时, 若还没猜中, 则失败   思路: 1. 举例子   &lt;1&gt; 当 G = 3, L = 0 时, 只能从 1 向上猜, 最大的数字是 3   &lt;2&gt; 当 G = 2, L = 1 ...

weixin_33859504的博客 106

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

onvif-go v2与GB/T 28181设备侧同天发版:多语言协议栈版本治理实践

在安防视频监控接入层,协议栈的稳定性直接决定网关产品的可靠性。ONVIF与GB/T 28181作为两大主流接入协议,通常在同一业务流程中协同工作,这要求底层协议库的版本必须保持一致,否则接口变更将导致下游适配成本成倍上升。本文基于一次五库同天发版的实践,深入解析onvif-go v2的接口重构、GB/T 28181设备侧状态机收官、以及onvif-c首发的嵌入式适配思路,并总结了多语言协议栈如何通过共享WSDL与分层测试矩阵来维持行为一致性,为安防接入层开发者提供可落地的版本治理路线图。

weixin_33966095的博客 314

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

poj 1243

该题解法应该从中间递推。 转移方程为:dp[n][l]=dp[n-1][l-1]+1+dp[n-1][j

huantwofat 683

POJ 1243

One Person Time Limit:1000MS Memory Limit:10000K Total Submissions:2724 Accepted:1767 Description In the game show "The Price is Right", a number of players (typically 4) com...

一只菜鸟夹 381

POJ 1243 解题报告

这是一道超小型dp题目,写的很快,索性写个报告 题目的意思是,一个猜价格的游戏。参与者有G次猜价格的机会,而且有L条命 每猜一次,用一次猜的机会,主持人会告诉你这个答案大了,小了还是猜中了。每次猜的价格高于真正的价格,丢一条命。G或者L用光而没有猜到,就输了。 问你,如果给定G和L,那么用一种保险的策略去猜,可以保证当这个价格在1到N之间时,肯定可以猜出正确价格。 写程序求这个N G和L

lzx0118的专栏 600

One Person - POJ 1243 dp

One Person Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2169   Accepted: 1453 Description In the game show "The Price is Right", a number of players (ty

提比的强行AC 767

POJ 1243 One Person G++ 递归 动态规划 背

单人猜价格游戏,主持人告诉玩家是猜高了、猜低了还是正好。能猜G次,猜超过实际价格L次。价格从1到N。求玩家一定能猜出价格的最大N值。

woniupengpeng的专栏 278

LeetCode 375. 猜数字大小 II(DP)

文章目录1. 题目2. 解题 1. 题目 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。 然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。 直到你猜到我选的数字,你才算赢得了这个游戏。 示例: n = 10, 我选择了8. 第一轮: 你猜我选择的数字是5,我会告诉你,我的数字更大一些,然后你需要支付5块。 第二轮: 你猜是7,我告诉你,我的数字更大一些,你支付7块。 第三轮

Michael是个半路程序员 961

ZOJ 3329 One Person Game(概率dp 经典)

题目链接:https://vjudge.net/problem/ZOJ-3329 #include #include #include #include #include #include #include #include #include #include #include #include #include #define fin freopen("a.txt","r",stdin

Interstellar_的博客 592

ZOJ-3329 One Person Game(期望dp)

One Person Game Time Limit: 1 Second      Memory Limit: 32768 KB      Special Judge There is a very simple and interesting one-person game. You have 3 dice, namely Die1, Die2 and Die3. Die

十分残念的博客 424

375 猜数字大小 II(区间dp)

1. 问题描述: 2. 思路分析: 3. 代码如下:

二哈 567

One Person【POJ-1243】【记忆化搜索DFS】

POJ 1243 题意:有这样的一个游戏,给玩家G次猜测以及L滴血,我们可以去猜测答案,题目问的是如果凭借G次猜测以及L滴血可以猜到答案的话,那么可能的答案最大是多少? 又有这样的规则,每猜一次会损失一次猜测的机会,同时如果猜的偏大了会掉一滴血。相当于告诉了你本次猜测是正好、偏大还是偏小。 如果是正好的,那么就是1 如果偏小了,猜测数-1,血不减,在更大的区间内去找 如果偏大了,...

既然弱小,就只顾变强就是了 239

猜数字游戏

实现经典“猜数字”游戏。给定答案序列和用户猜的序列,统计有多少数字位数正确(A),有多少数字在两个序列都出现过但位置不对(B)。 输入包含多组数据。每组输入第一行为序列长度n,第二行是答案序列,接下来是若干猜测序列。猜测序列全为0时改组数据输入结束。n=0时输入结束。 样例输入: 4 1 3 5 5 1 1 2 3 43 3 5 6 5 5 1 6 1 3 5 1 3 5 5

Hunter的博客 1000

One Person - 1243

One Person Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2415 Accepted: 1576 Description In the game show "The Price is Right", a number of players (ty

wzp_moon的博客 419
上一篇: Poj 2096 Collecting Bugs(概率(期望)+dp)
下一篇: zoj 3175 Number of Containers (大数灵活题,除2改成平方根)
ccyy-
博客等级 码龄12年 31粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值