贪心算法求解存放磁带问题(vector数组键盘输入,C++sort函数)

原创 2016年06月01日 22:53:41

问题描述:设有n个程序{1,2...n}要存放在长度为L的磁带上。每个程序都有自己存放的所需要的长度,问怎么能存放更多的程序?

vector和sort真是好用啊~。

输入实例:

6 50 //6代表多少个程序,50代表磁带的长度。

2 3 13 8 80 20

输出实例:5

代码如下:

#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
//using std::vector;
int greedy(vector<int>F,int m){
      int i=0;
      int sum=0;
      int n=F.size();
      sort(F.begin(),F.end());
      while(i<n){
            sum+=F[i];
            if(sum<=m)i++;
            else return i;
      }
      return n;
}
int main()
{
      int n,L,i,num;
      cin>>n>>L;
      vector<int>F;
      for(i=0;i<n;i++){
            cin>>num;
            F.push_back(num);
      }
      cout<<greedy(F,L)<<endl;
    cout << "Hello world!" << endl;
    return 0;
}


磁带的最优存储问题(贪心选择)

磁带最优存储问题 题目描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是Li,  1 i1,i2,....,in 的次序存放,则读取程序ir 所...
  • u013266600
  • u013266600
  • 2014年06月01日 21:40
  • 2584

贪心算法——最大整数问题详解

贪心算法——最大整数问题详解: [最大整数]设有n个正整数,将它们连接成一排,组成一个最大的多位整数。 例如:n=3时,3个整数13,312,343,连成的最大整数为34331213。...
  • John_ToStr
  • John_ToStr
  • 2016年04月06日 14:52
  • 1143

c++ stl sort函数奔溃问题

转载自新浪博客这位牛人一次stl sort调用导致的进程崩溃(zz) 此博文包含图片 (2012-10-08 10:06:24)转载▼ 标签: it 分类: 工作 近期我们开发的...
  • xiyuan1223
  • xiyuan1223
  • 2017年04月19日 20:56
  • 478

C++中用Vector容器存储矩阵

主要记录两点: 1、用vector定义可变长度数组 2、用vector按多字段值排序(数组中存储具有多个属性的类,按照类的某一属性进行排序)...
  • u013453604
  • u013453604
  • 2015年04月29日 22:59
  • 6524

字符串逆序/递归逆序/比较排序法+逆序

用字符数组作函数参数编程,利用一个数组实现字符串(允许输入带空格的字符串)的逆序存放。要求如下: (1)在主函数中从键盘输入字符串,字符串的最大长度为80个字符。       调用Inverse(...
  • u013232740
  • u013232740
  • 2015年01月31日 20:02
  • 1544

贪心算法(二)——一般背包问题

题目 有一个背包,最多放M kg的物体(物体大小不限); 有n个物体,每个物体的重量为Wi,每个物体完全放入背包后可获得收益Pi。问:如何放置能获得最大的收益? 注:背包问题分为两种,若每个...
  • u010425776
  • u010425776
  • 2017年04月05日 21:19
  • 1780

C++sort函数的用法

C++sort()函数的用法 近来看了c++标准库这本书,学到了很多,就把这其中的一点C++sort()函数的用法写下来和大家分享吧! (一)为什么要用c++标准库里的排序函数 Sort()函数...
  • liuzuyi200
  • liuzuyi200
  • 2013年05月25日 20:37
  • 29063

vector容器与迭代器,数组与指针

vector容器与数组非常相似,他们都存放一组具有相同类型数据的元素,其元素是以连续的方式存放——每一个元素紧挨着前一个元素存储。他们的元素没有独立的名字,所以对元素进行访问时都需要一种相应迭代器来历...
  • u010400289
  • u010400289
  • 2013年07月16日 11:16
  • 1292

贪心算法☞磁带最优存储问题

------------------------------------------------------------Sun-------------------------------------...
  • qq_31992913
  • qq_31992913
  • 2016年04月24日 21:35
  • 2728

C++自带sort函数的用法

C++sort()函数的用法 近来看了c++标准库这本书,学到了很多,就把这其中的一点C++sort()函数的用法写下来和大家分享吧! (一)为什么要用c++标准库里的排序函数 Sort()函数是c+...
  • why850901938
  • why850901938
  • 2015年12月10日 22:19
  • 16097
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:贪心算法求解存放磁带问题(vector数组键盘输入,C++sort函数)
举报原因:
原因补充:

(最多只允许输入30个字)