[NWPU2016][寒假作业][正常版第二组]U
题意,有箱子和物品,宽度一样,长度不一样,给定箱子和物品,一个箱子至多能装两个物品,一个物品只能被一个箱子装,求最少多少箱子能装所有的物品。
思路:贪心的话,很容易想到,从大到小排,从最大的开始,往后,看哪个和它加起来小于箱子容量,有的话做标记,下次跳过它,然后这么一写妥妥超时,得优化,然后就想到,从最大的开始,然后和它配对的从最小的开始找,而不是从i+1开始找,还是超时。。。看来还有可优化的地方,想了一会,我发现犯了个很傻的错误,那就是从最小的开始找,如果它不符合,说明剩下的都肯定不符合因为它是最小的,所以没被标记的最小的不符合的话,直接break就好,因为剩下的肯定不符合。这样就节省多了。
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <map>
#include <string>
#include <string.h>
#include <queue>
#include <vector>
using namespace std;
int cmp(int a,int b)
{
if(a>b)
return ;
return ;
}
int num[]={};
int flag1[]={};
int main()
{
int n,m;
int cnt=,sum=,flag=,count=;
scanf("%d%d",&n,&m);
for(int i=;i<n;i++)
{
scanf("%d",&num[i]);
}
sort(num,num+n,cmp);
for(int i=;i<n-;i++)
{
if(!flag1[i])
{
sum=num[i];
flag1[i]=;
count++;
for(int j=n-;j>i;j--)
{
if(sum+num[j]<=m)
{
if(count<&&!flag1[j])
{
sum+=num[j];
count++;
flag=;
flag1[j]=;
cnt++;
break;
}
}
else break; }
if(!flag)
{
cnt++;
count=;
}
flag=;
count=;
}
else continue;
}
if(!flag1[n-])
cnt++;
printf("%d\n",cnt);
return ;
}
[NWPU2016][寒假作业][正常版第二组]U的更多相关文章
- [NWPU2016][寒假作业][正常版第三组]R&&HDU1240
题意是有个三维的地图,从起点到终点的最短路径.用bfs做,不过这个题坑的地方在于,开三维数组你要搞清楚纬度的关系.a[i][j][h] i是层,j是行,h是列.然后坐标呢,又是列,行,层,所以如果要用 ...
- [NWPU2016][寒假作业][正常版第三组]搜索和二分 N
题意,一条数轴上,告诉你起点和终点,只能向前走1,向后走1,或者走到二倍的现在的位置,每次都耗时一分钟.问从起点到终点的最短时长. 简单地bfs #include <iostream> # ...
- [NWPU2016][寒假作业][正常版第三组]I
素数环,简单的dfs,但这道题我有个小地方写错了半天发现不了..就是flag数组的位置.一定要放在if里面,刚开始没注意,一不小心写到外面了. #include <iostream> #i ...
- 【GDKOI2014】JZOJ2020年8月13日提高组T3 壕壕的寒假作业
[GDKOI2014]JZOJ2020年8月13日提高组T3 壕壕的寒假作业 题目 Description Input Output 输出n行.第i行输出两个整数,分别表示第i份作业最早完成的时刻以及 ...
- 2016蓝桥杯省赛C/C++A组第六题 寒假作业
题意:现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ 每个方块代表1~13中的某一个数字,但不能重复. 比如: ...
- Luogu P2717 寒假作业(平衡树)
P2717 寒假作业 题意 题目背景 \(zzs\)和\(zzy\)正在被寒假作业折磨,然而他们有答案可以抄啊. 题目描述 他们共有\(n\)项寒假作业.\(zzy\)给每项寒假作业都定义了一个疲劳值 ...
- 成都优步uber司机第一组与第二组的区别
成都优步uber司机被分成了两组,两组的奖励方式不相同,下面我们先来看看官方给出的奖励方式: 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全国版最 ...
- 杭州优步uber司机第二组奖励政策
-8月9日更新- 优步杭州第二组: 定义为激活时间在2015/6/8之后2015/8/3之前的车主(以优步后台数据显示为准) 滴滴快车单单2.5倍,注册地址:http://www.udache.com ...
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第二组(转)
四:脱机数据认证-可选终端进行脱机数据认证来,认证卡片.记住:对于某个事情,终端与卡片谁单独也说了不算,要二者都能干才能干. 终端依据卡片(AIP)和终端(终端性能)的支持情况,决定是否使用及使用哪种 ...
随机推荐
- laravel基础课程---4、Laravel基础网站结构搭建
laravel基础课程---4.Laravel基础网站结构搭建 一.总结 一句话总结: 1.搭建网站前后台路由:在路由组Route::group()中设置好命名空间和前缀 2.搭建控制器:比如1)新建 ...
- listen 56
Kettles Stop Whistling in the Dark British physicist Lord Rayleigh is best known for his discovery o ...
- leetcode 307. Range Sum Query - Mutable(树状数组)
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...
- Python IOError: [Errno 13] Permission denied:
一般是代码写错了,比如我遇到的问题就是由于 os.listdir() 传参传错导致的. 本应该传入字符串路径名,但传入了一个文件对象(object)
- 【Lintcode】 035.Reverse Linked List
题目: Reverse a linked list. Example For linked list 1->2->3, the reversed linked list is 3-> ...
- POJ1502(最短路入门题)
MPI Maelstrom Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7471 Accepted: 4550 Des ...
- docker 学习(一)什么是Docker
项目中用到docker,就学习一下.第一篇是介绍. Sandboxie(沙箱):一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除.它创造了一个类似沙盒的独立作 ...
- SpringBoot之导入导出Excel
1.添加springBoot支持 <dependency> <groupId>org.apache.poi</groupId> <artifactId> ...
- 按钮交互loading ---- 转圈圈 加载
按钮loading状态自定义选项(功能): 可以在元素上添加 data-am-loading 来设置选项: spinner 加载动画图标,适用于支持 CSS3 动画.非 input 元素,写图标名称即 ...
- SoapUI测试登录
实际登录过程为: 1. 打开/login页面 2. 登录 3. 自动调整至/dashboard页面 SoapUI的设计上,每一次请求后,都会清理掉cookie,于是设计的测试登录过程如下: 1. po ...