NOI OpenJudge 7627:鸡蛋的硬度
来源:互联网 发布:linux启动软件命令 编辑:程序博客网 时间:2024/05/01 23:02
描述
有n层楼,m个鸡蛋,如果鸡蛋从第a层摔下来没摔破,但是从a+1层摔下来时摔破了,那么就说这个鸡蛋的硬度是a。这些鸡蛋硬度相同,在求鸡蛋的硬度下问使用最优策略在最坏情况下所需要的扔鸡蛋次数。
样例输入100 1100 2
样例输出
10014
这道题用的是动态规划。f[i][j]表示i层楼j个鸡蛋所需要的扔鸡蛋次数。重点讲一下dp方程(f[i][k]=min(f[i][k],max(f[j-1][k-1],f[i-j][k])+1))。j为1到i之间,max(f[j-1][k-1],f[i-j][k])+1)表示在j-1层鸡蛋碎了的次数与从i到j之间的层鸡蛋没碎之间的最大值+1。
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<cstdlib>using namespace std;int f[110][15];int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++)f[i][j]=i; } for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { for(int k=2;k<=m;k++) { f[i][k]=min(f[i][k],max(f[j-1][k-1],f[i-j][k])+1); } } } printf("%d\n",f[n][m]); } return 0;}
3 0
- NOI OpenJudge 7627:鸡蛋的硬度
- 【noi.openjudge】7627 鸡蛋的硬度
- OpenJudge noi 7267 鸡蛋的硬度
- 【NOI】7627 鸡蛋的硬度
- noi 7627:鸡蛋的硬度
- OpenJudge 7627 鸡蛋的硬度
- Openjudge 7627:鸡蛋的硬度
- NOI库7627 鸡蛋的硬度
- NOI 7627:鸡蛋的硬度(dp)
- openjudge 7627 鸡蛋的硬度 DP
- noi oj7627 鸡蛋的硬度
- [NOI OJ7627]鸡蛋的硬度
- noi.openjudge_P7627(鸡蛋的硬度)
- NOI/ 2.6基本算法之动态规划 【7627】鸡蛋的硬度
- 百练 7627:鸡蛋的硬度
- 鸡蛋的硬度问题
- openjudge7627 鸡蛋的硬度
- 鸡蛋的硬度
- Vijos P1159 岳麓山上打水
- Swift学习Day02(基础语法—)
- Android面试题APP,收集网上关于Android的初级、中级、高级的面试题
- svn版本库与hooks脚本
- Java多线程交替执行任务
- NOI OpenJudge 7627:鸡蛋的硬度
- 提高插入大量数据时的运行效率
- 删除前先判断指定的表或者存储过程是否存在if exists
- HttpClient发起post、get请求
- 利用Oracle动态游标实现动态SQL循环遍历
- js Date
- Android性能优化篇:Android中如何避免创建不必要的对象
- Java中的Socket编程
- lightoj 1071 - Baker Vai(双线DP)