uva 10934 装满水的气球
题意和思路见:
http://blog.csdn.net/shuangde800/article/details/11273123
我的想法:
首先问题转化一下
将问题转化成:定义f[i][j] 表示给i个水球和j次实验机会,最高可以測试到几层~
则会有例如以下的转移方程:
f[i][j] = f[i][j-1] + f[i-1][j-1] + 1;
后一部分是说选在第k层试第一次,假设摔破了,说明边界在以下的层中。
所以说选的那个k层,k最大应该满足k <= f[i-1][j-1] + 1; 由于要保证一旦水球在第k层摔坏了。以下的全部层都能够在还有i-1个球和j-1次机会时測出来。
前一部分表示选在k层试第一次。可是球并没有摔坏。这个时候最高就是在k层的基础上,加上 还有i个球和j-1次机会时可以再往上測几层~即f[i][j-1];
所以综上两部分,f[i][j]最大就等于f[i-1][j-1] + 1 + f[i][j-1];
code:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std; long long f[110][65]; void init(){
memset(f, 0, sizeof(f));
for(int i = 1; i < 64; i++){
for(int j = 1; j < 64; j++){
f[i][j] = f[i][j-1] + 1 + f[i-1][j-1];
}
}
}
int main(){
init();
int k;
long long n;
while(scanf("%d%lld",&k,&n) != EOF){
if(k == 0) break;
k = min(k, 63);
bool ok = false;
for(int i = 0; i <= 63; i++ ){
if(f[k][i] >= n){
printf("%d\n",i);
ok = true;
break;
}
}
if(!ok) printf("More than 63 trials needed.\n");
}
return 0;
}
uva 10934 装满水的气球的更多相关文章
- UVA - 10934 Dropping water balloons(装满水的气球)(dp)
题意:有k个气球,n层楼,求出至少需要多少次实验能确定气球的硬度.气球不会被实验所“磨损”. 分析: 1.dp[i][j]表示第i个气球,测试j次所能确定的最高楼层. 2.假设第i-1个气球测试j-1 ...
- UVa 489 HangmanJudge --- 水题
UVa 489 题目大意:计算机给定一个单词让你猜,你猜一个字母,若单词中存在你猜测的字母,则会显示出来,否则算出错, 你最多只能出错7次(第6次错还能继续猜,第7次错就算你失败),另注意猜一个已经猜 ...
- UVa 1585 Score --- 水题
题目大意:给出一个由O和X组成的串(长度为1-80),统计得分. 每个O的分数为目前连续出现的O的个数,例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3 解题思路:用一个变量t ...
- uva 10934 Dropping water balloons(转载)
本文转载自http://blog.csdn.net/shuangde800/article/details/11273123 题意 你有k个一模一样的水球,在一个n层楼的建筑物上进行测试,你想知道水球 ...
- UVA 11636-Hello World!(水题,猜结论)
UVA11636-Hello World! Time limit: 1.000 seconds When you first made the computer to print the sentenc ...
- UVA - 10934 Dropping water balloons (dp,逆向思维)
题目链接 题目大意:给你n个规格一样的气球和一栋大楼的高度,求最少试验几次能测出气球最高在哪一层掉下来不破. 如果这道题想用(dp[i][j]=用i个气球测出j高度的楼需要几次)来作为状态的话,那你就 ...
- uva 10934 Dropping water balloons
你有k个一模一样的水球,在一个n层楼的建筑物上进行测试,你想知道水球最低从几层楼往下丢可以让水球破掉.由于你很懒,所以你想要丢最少次水球来测出水球刚好破掉的最低楼层.(在最糟情况下,水球在顶楼也不会破 ...
- UVa 10934 DP Dropping water balloons
首先想一下特殊情况,如果只有一个气球,我们要确定高度只能从下往上一层一层地测试,因为如果气球一旦爆了,便无法测出气球的硬度. 如果气球有无数个,那么就可以用二分的方法来确定. 一般地,用d(i, j) ...
- COGS 1406. 邻居年龄排序[Age Sort,UVa 11462](水题日常)
★ 输入文件:AgeSort.in 输出文件:AgeSort.out 简单对比时间限制:1 s 内存限制:2 MB [题目描述] Mr.Zero(CH)喜闻乐见地得到了一台内存大大增强 ...
随机推荐
- react+webpack+babel+eslint+redux+react-router+sass 环境快速搭建
本文中的例子支持webpack-dev-server自动刷新及react热替换,使用了redux管理state,用react-router切换路由,用babel实现ES6语法书写,同时支持async/ ...
- text-shadow
text-shadow,文字阴影,通过text-shadow不使用ps可以实现文字阴影特效,可以让页面变得更加美观. text-shadow语法 text-shadow : none | <le ...
- 网关协议:CGI、FastCGI、WSGI
CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页. CGI CGI即通用网关接口(Common Ga ...
- IE添加可信任站点,启用ActiveX插件批处理
添加可信任站点IP地址为:192.168.1.108,启用ActiveX插件执行以下批处理命令: reg add "HKCU\Software\Microsoft\Windows\Curre ...
- Asp.net中的一个判断session是否合法的做法
1 if (Session["UserID"] == "" || Session["UserID"] == null) 2 { 3 ...
- HDU 3507 Print Article(斜率优化推导)
$dp$,斜率优化. 第一次做斜率优化的题目,看了一些题解,自己总结一下. 这题是说有$n$个数字,可以切成任意段,每一段的费用是这一段数字的和平方加上$M$.问最小费用是多少. 设$dp[i]$为$ ...
- Web CI过程中的Security解决方案
http://www.infoq.com/cn/articles/WebScan-CI 一. 当前Web应用安全现状 随着中国互联网金融的爆发和繁荣,Web应用在其中扮演的地位也越来越重要,比如Web ...
- 暴力 【p4098】[HEOI2013]ALO
Description Welcome to ALO ( Arithmetic and Logistic Online).这是一个 VR MMORPG, 如名字所见,到处充满了数学的谜题 现在你拥有 ...
- Integer 类和 int 的区别
http://www.cnblogs.com/ysocean/p/8075676.html public static void main(String[] args) { Integer i ...
- Android中的MVC,MVP和MVVM
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha MVC,MVP,MVVM的区别 #MVC 软件可以分为三部分 视图(View):用户界面 ...