题意:有k个气球,n层楼,求出至少需要多少次实验能确定气球的硬度。气球不会被实验所“磨损”。

分析:

1、dp[i][j]表示第i个气球,测试j次所能确定的最高楼层。

2、假设第i-1个气球测试j-1次所确定的最高楼层是a,

若第i个气球在测试第一次的时候摔破了,那摔破所在的楼层b<=a+1---------dp[i - 1][j - 1] + 1。

若没摔破,则前i-1个球在此楼层也不会摔破,也就是说当前至少有i个完好的球可以测试以及j-1次机会可以继续测试-------------dp[i][j - 1]。

#pragma comment(linker, "/STACK:102400000, 102400000")
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cctype>
#include<cmath>
#include<iostream>
#include<sstream>
#include<iterator>
#include<algorithm>
#include<string>
#include<vector>
#include<set>
#include<map>
#include<stack>
#include<deque>
#include<queue>
#include<list>
#define Min(a, b) ((a < b) ? a : b)
#define Max(a, b) ((a < b) ? b : a)
const double eps = 1e-8;
inline int dcmp(double a, double b){if(fabs(a - b) < eps) return 0;return a > b ? 1 : -1;
}
typedef long long LL;
typedef unsigned long long ULL;
const int INT_INF = 0x3f3f3f3f;
const int INT_M_INF = 0x7f7f7f7f;
const LL LL_INF = 0x3f3f3f3f3f3f3f3f;
const LL LL_M_INF = 0x7f7f7f7f7f7f7f7f;
const int dr[] = {0, 0, -1, 1, -1, -1, 1, 1};
const int dc[] = {-1, 1, 0, 0, -1, 1, -1, 1};
const int MOD = 1e9 + 7;
const double pi = acos(-1.0);
const int MAXN = 100 + 10;
const int MAXT = 10000 + 10;
using namespace std;
ULL dp[MAXN][MAXN];
void init(){for(int i = 1; i < 64; ++i){for(int j = 1; j < 64; ++j){dp[i][j] = dp[i][j - 1] + dp[i - 1][j - 1] + 1;}}
}
int main(){int k;ULL n;init();while(scanf("%d%llu", &k, &n) == 2){if(!k) return 0;k = Min(k, 63);//最多测试63次,所以最多需要63个气球bool ok = false;for(int i = 0; i <= 63; ++i){if(dp[k][i] >= n){printf("%d\n", i);ok = true;break;}}if(!ok) printf("More than 63 trials needed.\n");}return 0;
}

  

转载于:https://www.cnblogs.com/tyty-Somnuspoppy/p/6439957.html

UVA - 10934 Dropping water balloons(装满水的气球)(dp)相关推荐

  1. UVa 10934 Dropping water balloons:dp(递推)

    题目链接:https://vjudge.net/problem/27377/origin 题意: 有一栋n层高的楼,并给你k个水球.在一定高度及以上将水球扔下,水球会摔破:在这个高度以下扔,水球不会摔 ...

  2. uva 10934—— Dropping water balloons

    题意:给定K个气球,然后n层楼的高度,求确定气球的硬度(站在多高能摔破) 思路:递推.dp(i,j)表示最优,那么即dp(i-1,j-1)+1最优,如果K层没有破,则把K+1看成1层继续.得到转移方程 ...

  3. 100道动态规划——17 UVA 10934 Dropping water balloons 猜数问题

    老实说我感觉这个更加像递推..而不是动态规划. 一开始对答案是很疑惑的,后来去问了dalao,dalao告诉我这是猜数问题,于是我就找关于猜数问题的资料看,发现他们本质是确实是同一个问题. 这里把链接 ...

  4. UVA10934 Dropping water balloons【DP】

    It's frosh week, and this year your friends have decided that they would initiate the new computer s ...

  5. 【Uva 10934】Dropping water balloons

    [Link]: [Description] 等价题意: 某人在1..n内选一个数x; 然后让你去猜; 你可以问他是不是在哪个范围里; 每次会告诉你YES或者NO; 问你在最坏的情况下猜出答案需要猜多少 ...

  6. 算法分析与设计—— 遍历问题【给定一个装满水的8品脱壶】

    问题: 西蒙.丹尼斯.泊松是著名的法国数学家和物理学家.据说在他遇到某个古老的谜题之后,就开始对数学感兴趣了,这个谜题是这样的:给定一个装满水的8品脱壶以及两个容量分别为5品脱和3品脱的空壶,如何通过 ...

  7. Container with most water(盛水最多的容器)

    Container with most water(盛水最多的容器) 简单的证明 如图 题目: 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n ...

  8. 俩个装满水的8斤桶和一个空的3斤的桶分给4个人每人4斤

    有三个桶,两个大的可装8斤的水,一个小的可装3斤的水,现在有16斤水装满了两大桶就是8斤的桶,小桶空着,如何把这16斤水分给4个人,每人4斤.没有其他任何工具,4人自备容器,分出去的水不可再要回来. ...

  9. #解题记录 有三个量杯,分别是3ml、5ml和装满水的10毫升,如何分离出5ml的水

    这是一道逻辑型题,初次看可能没有思路,但其实很简单,已经有3ml的杯子,只要想办法再分离出2ml的水就能完成 (这道题的前提是三个杯子的水不能倒掉,一直要保持10ml总量的水,我看还有朋友说有些题可以 ...

最新文章

  1. python使用kafka原理详解真实完整版_转:Kafka史上最详细原理总结 ----看完绝对不后悔...
  2. DeepFaceDrawing: 使用草图生成人脸图像
  3. 任意半径局部直方图类算法在PC中快速实现的框架。
  4. [导入]php 安全基础 附录C. 加密
  5. mysql delete limit用法_你习惯delete语句后带上limit吗
  6. FileInfo.LastWriteTime和FileInfo.LastAccessTime的值不是准确的
  7. SpringAOP Aspect注解实现简单日志功能
  8. html2canvas图片位移_html2canvas html截图插件图片放大清晰度处理方案,支撑恣意放大倍数,处理原插件图片偏移题目...
  9. elasticsearch例子(crud + 分页)
  10. 在TypeScript和ASP.NET Core中处理文件上传和受保护的下载
  11. 12、常见Conditional注解源码解析(ok)
  12. vscode配置c 环境_SAST Weekly教你在macOS上用VS Code配置C/C++编程环境
  13. java生成字符_java中随机生成字符串的方法(三种)
  14. Django Restful API Class Based View
  15. doubango的帧率太低,怎么解决?
  16. Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??
  17. ps用计算机,教你用photoshop绘制计算器
  18. (已更新)成语小秀才小程序V2.0.14完整安装包+小程序前端
  19. 瀑布模型(waterfall model)需求明确+严格顺序执行
  20. 对c语言课程的建议和意见,对课程的意见和建议

热门文章

  1. PAT_B_1060_Java(25分)
  2. mysql 内存表使用教程_MySQL的内存表的基础学习教程
  3. 抖音云控_抖音云控/快手云控:引领5G电商短视频新潮流
  4. linux usb xhci ehci,ehci和xhci有什么区别
  5. 接口入参形式_花椒测试平台 接口篇
  6. CF--思维练习--CodeForces - 216C - Hiring Staff (思维+模拟)
  7. adb安装apk报错Failure [INSTALL_FAILED_INVALID_URI]
  8. 目标检测系列(四)——Fast R-CNN译文
  9. bert使用做文本分类_使用BERT进行深度学习的多类文本分类
  10. 脑电波之父:汉斯·贝格尔_深度学习,认识聪明的汉斯