UVA 1149 Bin Packing(贪心)
来源:互联网 发布:月干支推算法 编辑:程序博客网 时间:2024/06/05 20:15
题目链接
题意
给出n个长度l1 l2 … ln,一个m。
每一个容器长度为m,可以放一个或者两个元素(两者长度之和<=m),询问为了装下这n个元素需要多少个容器(最少)
解决
思路是排序后从小到大开始选,那一个大的之后看能不能再拿一个最小的,如果能拿最小的就等价于这两个能放在同一个容器中,如果不能拿就说明最大的这个只能单独占据一个容器。
1. 从小到大排序
2. 从大的开始选,每次让ans+1,能选小的就选一个小的
#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;int main(){ int cases,n,m,num[maxn]; scanf("%d",&cases); while(cases--) { scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%d",&num[i]); sort(num,num+n); int left=0,right=n-1; int ans=0; while(left<=right) { if(num[left]+num[right]<=m){ left++; right--; ans++; continue; } else{ right--; ans++; } } printf("%d\n",ans); if(cases) cout<<endl; }}
阅读全文
0 0
- UVa 1149 - Bin Packing [贪心]
- UVA 1149 Bin Packing(贪心)
- 【uva】1149-Bin Packing(贪心 + STL )
- UVA - 1149 Bin Packing 贪心水题
- UVA 1149 bin packing (贪心)
- UVA 1149 Bin Packing 装箱(简单贪心)
- uva 1149 Bin Packing(贪心)
- UVa 1149 Bin Packing (二分 + 贪心)
- Uva - 1149 - Bin Packing
- UVA 1149 - Bin Packing
- UVA 1149 Bin Packing
- uva 1149Bin Packing
- UVA 1149 Bin packing
- UVA 1149 Bin Packing
- UVA - 1149 Bin Packing
- uva 1149/Bin Packing
- UVA 1149 Bin Packing
- UVa-1149 Bin Packing
- Lambda 表达式
- 使用背景图片,图片高度随宽度自动变化,并居中缩放,不变形
- const变量-常量折叠-符号表
- PAT 乙级 1031
- jstl中时间格式化标签fmt formatDate标签使用
- UVA 1149 Bin Packing(贪心)
- 【Jetson TX1开发笔记】Ubuntu16.04 上安装Nodejs(ARM版本)
- 使用Glide加载https网址图片
- 实现view底部控件随着键盘的弹出而上移的效果
- MFC框架中对最近文件列表的支持
- 网易云音乐歌词python
- php undefined index:xxxxxxx 的解决方式
- OpenGL ES总结(四)OpenGL 渲染视频画面
- werkzeug的Request / Response 对象