【noi 2.6_7627】鸡蛋的硬度(DP)
2024-10-19 06:09:49
题意:其中n表示楼的高度,m表示你现在拥有的鸡蛋个数。
解法:f[i][j]表示 i 层楼有 j 个鸡蛋时,至少要扔多少次。3重循环,k为测试的楼层,分这时扔下去的鸡蛋碎和不碎的情况。要注意初始化。
1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6
7 const int N=100,M=10;
8 int f[N+10][M+10];
9
10 int mmin(int x,int y) {return x<y?x:y;}
11 int mmax(int x,int y) {return x>y?x:y;}
12
13 int main()
14 {
15 int n=N,m=M;
16 for (int j=0;j<=m;j++) f[0][j]=0;
17 for (int i=1;i<=n;i++) f[i][1]=i;//一定要这样初始化,放进下面循环会出错
18 for (int i=1;i<=n;i++)
19 for (int j=2;j<=m;j++)
20 {
21 f[i][j]=i;
22 for (int k=1;k<=i;k++)
23 f[i][j]=mmin(f[i][j],1+mmax(f[i-k][j-1],f[k-1][j]));
24 }
25 while (~scanf("%d%d",&n,&m))
26 printf("%d\n",f[n][m]);
27 return 0;
28 }
最新文章
- Linux下安装Oracle11g服务器
- RDD、DataFrame和DataSet的区别
- Java学习日记之 Java-其他类型
- mod_PHP&;fastcgi
- FileWriter和FileReader简单使用
- C++primer 阅读点滴记录(三)
- valueOf跟toString区别
- SpringMVC数据绑定全面示例(复杂对象,数组等)
- CPU占用率高分析方法步骤[转载]
- 【转】Usage of sendBroadcast()
- [置顶] WebService调用工具(AXIS2)
- js 中创建对象
- 在两个ASP.NET页面之间传递变量【转】
- Python day 6(3) Python 函数式编程1
- sourceTree+gerrit管理代码
- Hibernate对应关系(了解)
- 斯坦福大学公开课机器学习:machine learning system design | data for machine learning(数据量很大时,学习算法表现比较好的原理)
- mysql线上数据库单表超过200G的处理
- Spring boot+Spring Security 4配置整合实例 【转】
- 在ASP.NET MVC中实现登录后回到原先的界面
热门文章
- 【C++】《C++ Primer 》第八章
- RabbitMQ常用的几种消息模型
- servlet+jsp完成简单登录
- SpringBoot同时接收单个对象和List<object>参数
- Openstack 启动一个实例(九)
- mysql 需要内核级线程的支持,而不只是用户级线程,这样才能够有效的使用多个cpu
- 【Mysql】[Err] 1153 - Got a packet bigger than 'max_allowed_packet' bytes
- 与图论的邂逅07:K短路
- Ubuntu20.04安装Typora
- ftp协议服务器与tinyhttp服务demo