lightoj 1381 - Scientific Experiment dp
来源:互联网 发布:linux shell 等待 编辑:程序博客网 时间:2024/04/30 02:43
点击打开链接
题意:
一个评估蛋的硬度方法是测量蛋从多高摔下来会碎。现在佳佳想以楼层高度作为考量依据评估蛋的 硬度。如果蛋从i楼上掉下来会碎,而i-1不会,那么蛋的硬度为i。高为n层的实验楼里面有蛋卖,一个X元。佳佳开始没有蛋,并且他只能随身携带一个蛋, 不带蛋进楼需要Y元,带蛋需要Z元,做完试验之后如果还有一个蛋,可以卖掉得X/2元(卖蛋不需要进楼)。佳佳把鸡蛋扔出去后,会出楼检查蛋的情况。如果 蛋扔下后没有碎掉,佳佳一定会把蛋捡起,然后进楼,如蛋碎掉了,佳佳就不会管它。 佳佳想知道在最糟糕的情况下,测出蛋的硬度最少需要花费多少钱。
思路:
注意从最高层楼扔下来鸡蛋是一定会碎的。
设dp[i]为i层楼测鸡蛋硬度的最小花费,考虑在j层扔下一枚鸡蛋,
1.如果摔碎了,那么花费则是dp[j] + x + y; 碎了 就要进楼y+买蛋x
2.如果没摔碎,那么花费则是dp[i-j] + z; 没碎 就要带蛋进楼z
3.如果j = i - 1,则2中的花费应为 y + x - x / 2; 第一次试验了i-1层 在没碎的情况下 就有结果了 进楼y+买蛋x-卖蛋x/2
代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;long long dp[1005],d1,d2;long long ans;int main(){int t; cin>>t;for(int cas=1; cas<=t; cas++){int n,x,y,z;cin >> n >> x >> y >> z;memset(dp,0x3f,sizeof(dp));dp[0] = dp[1] = 0;for(int i=2; i<=n; i++){for(int j=1; j<i; j++){d1 = dp[j]+x+y; // 碎了 就要进楼y+买蛋xd2 = dp[i-j]+z; // 没碎就要带蛋进楼zif(i-j==1)d2 = y+x-x/2; // 第一次试验了i-1层 在没碎的情况下 就有结果了 进楼y+买蛋x-卖蛋x/2dp[i] = min(dp[i],max(d1,d2)); // 在最糟的情况的最小花费}}cout << "Case " << cas << ": " << dp[n] << endl;}}
0 0
- lightoj-1381 - Scientific Experiment dp
- lightoj 1381 - Scientific Experiment dp
- UVA 4996 Scientific Experiment
- Grid Computing: Experiment Management, Tool Integration, and Scientific Workflows
- experiment
- Experiment
- experiment
- codeforce 67D - Optical Experiment(dp)
- POJ--1770--Special Experiment--树形DP
- POJ 1770 Special Experiment(树形DP)
- poj 1770 Special Experiment (树形dp)
- 【poj 1770】Special Experiment 树形dp
- URAL 1203 Scientific Conference(贪心 || DP)
- URAL 1203Scientific Conference dp练习
- [贪心][DP][Ural 1203]Scientific Conference
- lightoj 1140 数位DP
- lightoj 1032 数位DP
- lightoj 1068 数位DP
- qt学习之路八(qt实战--银行管理系统)
- 如何为嵌入式开发建立交叉编译环境
- js 触发事件种类类型有哪些?
- OllyScript脚本练习
- AtCoder Regular Contest 069 D - Menagerie 枚举起点 递推
- lightoj 1381 - Scientific Experiment dp
- PAT A 1001. A+B Format (20)
- 【读论文】node2vec: Scalable Feature Learning for Networks
- 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程
- 第一章 计算机网络概述
- Leetcode-Algorithms Number Complement(数字补码)
- Linux 初始 RAM 磁盘(initrd)概述
- html内容整理第一章节
- listen函数和accept函数