题意:给一些物品item[],这些物品的重量在101至300之间,要将这些物品全部放进若干个bins中,已知bins盛的重量为300,可以将bins装满也可以不装满,

问放这些物品最少需要几个bins.

思路:当时把最关键的地方忽略了,就是物品的重量在101至300之间,这就说明每个bins至多放2个物品。然后从小到大排序,倒着贪心就可以了。

 #include<stdio.h>
#include<stack>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std; class BinPackingEasy
{
private:
int count;
public:
int minBins(vector <int> item)
{
count = ;
int j;
int len = item.size();
int vis[len+];
memset(vis,,sizeof(vis));
sort(item.begin(),item.end());
for(int i = len-; i >= ; i--)
{
if(vis[i]) continue;
vis[i] = ;
for(j = i-; j >= ; j--)
{
if(item[i] + item[j] <= && !vis[j])
{
vis[j] = ;
count++;
break;
}
}
if(j == -)
count++;
}
for(int i = ; i < len; i++)
if(!vis[i])
count++;
return count;
}
};

最新文章

  1. winform下如何实现右下角弹窗效果
  2. [课程设计]任务进度条&amp;开发日志目录
  3. N个节点的二叉树有多少种形态
  4. Python学习笔记(迭代、模块扩展、GUI 、编码处理等)
  5. phone number is not known @w@ have no phone, and thus no phone number
  6. django ORM model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct
  7. Hive基础之COALESCE用法
  8. 纵观minecraft 游戏作者的世界观
  9. 电商ERP常见功能模块
  10. bzoj 2244: [SDOI2011]拦截导弹 cdq分治
  11. Cubieboard编译安装NodeJS经验总结
  12. [r]Ubuntu Linux系统下apt-get命令详解
  13. sqlserver05 字符串拆分
  14. Oracle的sessions和processes的数计算公式
  15. Bash 常用快捷键(转)
  16. Python网络爬虫与信息提取(三)—— Re模块
  17. 论文笔记:Mask R-CNN
  18. SpringBoot的学习【3.HelloWorld配置细节】
  19. forget suffix word aby able ability out 1
  20. WebBrowser中html元素如何触发winform事件

热门文章

  1. C语言之指针1.1数组
  2. html中可以使用在块级元素&lt;body&gt;中的元素
  3. maven使用之烦人的.lastUpdated文件
  4. UVA 11549 CALCULATOR CONUNDRUM(Floyd判圈算法)
  5. C++模板学习随笔
  6. Cocos2d-x 3.0坐标系详解(转载)
  7. ASP.NET中的特殊路径标识&quot;~&quot;
  8. 设计模式之开篇(C#语法)
  9. thinkphp 缓存写入失败,网站报错
  10. 诡异的XmlSerializer属性字段Specified