【ZCMU1894】Power Eggs(鹰蛋问题dp)
来源:互联网 发布:湖南文宇网络 编辑:程序博客网 时间:2024/05/10 22:21
记录一个菜逼的成长。。
题目链接
题目大意:
一栋建筑有N层,现在又k个蛋,每个蛋都一样。
现要确定在最坏情况下蛋在第几层掉下会碎需要实验多少次。
如果在f层掉下,那么在f层下掉下都不会碎,在f层及以上掉下都会碎。
若一个蛋没碎可重复使用。
资料1
资料2
最容易想到的算法:假设有n楼层,k个鹰蛋,则在第i层试探时会出现两种状态,一种状态是鹰蛋摔破了,则我们下一步只有n-1个鹰蛋,同时总楼层数也缩减为i-1,另一种状态是鹰蛋没有摔破,那么鹰蛋总数不变,还是n个,楼层数则缩减为n-i层。
还有其他算法,详见资料2
#include <bits/stdc++.h>using namespace std;typedef long long LL;const int maxn = 40;LL dp[maxn][maxn];dp[i][j] := 表示i个蛋比较j次所能确定的最高楼层void fun(){ for( int i = 1; i <= 32; i++ ){ dp[i][1] = 1;//只比较一次,显然只能确定一层。 dp[1][i] = i;//只有一个蛋,显然只能一层一层的比,最坏情况下可以确定i层。 } for( int i = 2; i <= 32; i++ ) for( int j = 2; j <= 32; j++ ) dp[i][j] = dp[i][j-1] + dp[i-1][j-1] + 1;}int main(){ fun(); int T; scanf("%d",&T); while(T--){ int n,k; scanf("%d%d",&n,&k); int ans = -1; for( int i = 1; i <= 32; i++ ){ if(dp[k][i] >= n){ ans = i; break; } } if(ans != -1)printf("%d\n",ans); else puts("Impossible"); } return 0;}
0 0
- 【ZCMU1894】Power Eggs(鹰蛋问题dp)
- ZSTUOJ 4214: Power Eggs(经典动态规划——鹰蛋问题)
- 2015浙江理工校赛 E Power Eggs (DP)
- eggs
- 扔鸡蛋问题(eggs drop)
- UESTC 1051 Eggs broken【思维+期望Dp】
- 【ZSTU4214 2015年12月浙理工校赛 E】【看似区间DP实则线性相加 脑洞 好题】Power Eggs 最少扔鸡蛋次数测出其坚固度 学会状态表示
- 湖南中医药大学2017年集训队第四场选拔赛-Problem B: Power Eggs
- 2-eggs-100-floors-puzzle(扔两个鸡蛋问题)
- Python Eggs
- Painting Eggs
- two eggs
- Eggs简介
- Drop Eggs
- poj 4045 Power Station (树形dp)
- poj - 4045 - Power Station(树形dp)
- acdream 1201 SuSu's Power dp
- POJ 4045 - Power Station(树形DP)
- Eclipse + WinARM开发环境
- luke 加入自己的分析器
- 一个小白的成长
- Maven指令生存一个web-app项目
- Recorder+人脸识别︱国内人脸识别技术趋势与识别难点、技术实践
- 【ZCMU1894】Power Eggs(鹰蛋问题dp)
- 上传 下载
- 【BZOJ 3231】【CDOI 2008】递归数列
- hihoder 1048
- 深入探索c++对象模型之站在对象模型的尖端
- LeetCode
- Android SpringAnimation 弹簧动画
- 安卓开发——sdk23以上不支持httpstatus类,改用HttpURLConnection
- 三种联网状态