简单贪心总结
来源:互联网 发布:java读取中文乱码 编辑:程序博客网 时间:2024/05/29 15:11
题目描述
大家千万别让波波蒙人的外表给骗了,其实他就是偷吃界所向披靡的大胃王……
从前,有一天,实验室买了一批新零食,而又刚好大家出去吃饭了,月黑风高,波波出动了……
假设他有一个容量为m的胃,实验室的n件食物每件都有体积Vi,有每一单位体积的美味值Di,他想要能偷吃到食物的美味值相加和最大,假设他可以每件食物都偷吃一点,当然也可以吃完。
常言道,征服一个男人就征服他的胃,各位新acmer们,征服波波吧。
输入
输入数据有T(T<10)组,每一组第一行是n与m,接着n行的Vi、Di,保证m<=500,n<=100,Vi<=100,Di<=2^16 .
输出
输出波波能偷吃到的最大美味值和。
样例输入
1
4 15
5 10
5 9
5 8
5 7
样例输出
135
大家千万别让波波蒙人的外表给骗了,其实他就是偷吃界所向披靡的大胃王……
从前,有一天,实验室买了一批新零食,而又刚好大家出去吃饭了,月黑风高,波波出动了……
假设他有一个容量为m的胃,实验室的n件食物每件都有体积Vi,有每一单位体积的美味值Di,他想要能偷吃到食物的美味值相加和最大,假设他可以每件食物都偷吃一点,当然也可以吃完。
常言道,征服一个男人就征服他的胃,各位新acmer们,征服波波吧。
输入
输入数据有T(T<10)组,每一组第一行是n与m,接着n行的Vi、Di,保证m<=500,n<=100,Vi<=100,Di<=2^16 .
输出
输出波波能偷吃到的最大美味值和。
样例输入
1
4 15
5 10
5 9
5 8
5 7
样例输出
135
提示
这是一道简单的贪心题,刚看到以为是0-1背包的升级。
思路:定义一个sum = 0, area = 0。先按每一体积Di按从大到小进行排序,然后将排好的美味值进行Di*Vi与sum相加,area与Vi相加,然后比较area和m哪个大,
如果area比较大,那么算出刚好塞进m的那个体积,这个体积和对应的美味值相乘,再与sum相加,即为答案。
如果area与m刚好相等,那么就刚好了
#include<iostream>using namespace std;struct MyStruct{int V;long D;};int main(){MyStruct eat[102];int T;cin >> T;while (T--){long value = 0;int n, m;cin >> n >> m;for (int i = 1; i <= n; i++){int v;long d;cin >> v >> d;eat[i].V = v;eat[i].D = d;}for (int i = 1; i <= n; i++){for (int j = i + 1; j <= n; j++){int v1;long d1;if (eat[i].D < eat[j].D){v1 = eat[i].V;d1 = eat[i].D;eat[i].V = eat[j].V;eat[i].D = eat[j].D;eat[j].V = v1;eat[j].D = d1;}}}int sum = 0;for (int k = 1; k <= n; k++){sum += eat[k].V;if (m >= sum){value += eat[k].D * eat[k].V;}else{int v2 = eat[k].V - (sum - m);value += v2 * eat[k].D;break;}}cout << value << endl;}getchar();getchar();return 0;}
0 0
- 简单贪心总结
- 简单贪心
- 简单贪心
- 【贪心】贪心算法总结
- 贪心总结
- 贪心总结
- 贪心总结
- 贪心总结
- 贪心总结
- 贪心总结
- 贪心总结
- 贪心总结
- 贪心总结
- 3637 Shopaholic 简单贪心
- POJ 1323 简单贪心
- joj 2657 简单贪心
- hdu 4310 简单贪心
- 贪心算法简单实现
- 第十五周(项目二)用哈希法组织关键字
- Xcode7之后常见问题整理
- 《matlab从零到进阶》matlab练习1——二维绘图
- 根据mysql数据库自动生成mvc三层代码及jsp页,极速开发srpingmvc+mybatis+bootstrap项目。
- java 注解
- 简单贪心总结
- 机器学习基石笔记 Lecture 1: The Learning Problem
- Centos7 Nginx安装
- 可扩展的工作流引擎设计
- 关于UITableviewcell的accessoryType属性
- mysql-proxy实现mysql主从库读写分离
- A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。
- Caffe学习——Imagenet分类
- 关于H5播放视频文件的问题