51ND 1432 独木舟

原创 2016年05月31日 15:24:48

贪心算法
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
 收藏
 关注
n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?
Input
第一行包含两个正整数n (0<n<=10000)和m (0<m<=2000000000),表示人数和独木舟的承重。
接下来n行,每行一个正整数,表示每个人的体重。体重不超过1000000000,并且每个人的体重不超过m。
Output
一行一个整数表示最少需要的独木舟数。
Input示例
3 6
1
2
3
Output示例
2
曹鹏 (题目提供者)
题解:贪心。排序,取没用过的最后一个与没用过的最前面的一个求和,。如果<=m,ans++,否则只计算后一个,用过了就标记一下。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<string>
#include<map>
#include<queue>
#include<algorithm>
using namespace std;
#define LL long long
const LL maxm=1e5+10;
LL a[maxm];
map<LL,LL>q;
int main()
{
    LL n,m;
    while(scanf("%d%lld",&n,&m)!=EOF)
    {
        q.clear();
        for(LL i=1;i<=n;i++)
        {
            scanf("%lld",&a[i]);
        }
        sort(a,a+n+1);
        LL ans=0;
        int cnt=1;
        for(LL i=n;i>=1;i--)
        {
            if(cnt==i&&!q[a[i]])
            {
                ans++;
                q[a[i]]=1;
            }
            else
            {
                if(!q[a[i]]&&!q[a[cnt]]&&(a[i]+a[cnt]<=m))
                {
                    q[a[i]]=1;
                    q[a[cnt]]=1;
                    ans++;
                    cnt++;
                }
                else if(!q[a[i]])
                {
                    q[a[i]]=1;
                    ans++;
                }
            }
        }
        printf("%lld\n",ans);
    }
    return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

NYOJ 71 独木舟上的旅行 贪心算法 之 乘船问题

独木舟上的旅行 时间限制:3000 ms  |  内存限制:65535 KB 难度:2      描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人...
  • LYHVOYAGE
  • LYHVOYAGE
  • 2013年01月20日 11:12
  • 4710

akoj-1267-独木舟上的荡漾

独木舟上的荡漾 Time Limit:1000MS  Memory Limit:65536K Total Submit:3 Accepted:2 Description 进行一次独木舟的旅行活...
  • jtahstu
  • jtahstu
  • 2014年10月14日 22:13
  • 8444

UCloud数据方舟评测报告

UCloud数据方舟评测报告 一、测试环境:    ucloud云主机CentOS6.5 2C4G 一台 二、测试对象:    ucloud数据方舟 三、测试公司及部门:    广州云移信息科技有限公...
  • shootyou
  • shootyou
  • 2015年11月27日 10:14
  • 2817

51 Nod1432独木舟

1432 独木舟 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 n个人,已知每个人体重。独木舟...
  • qq_36258516
  • qq_36258516
  • 2017年05月14日 10:54
  • 126

51NOD 1432 独木舟

1432 独木舟 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个...
  • qq_27717967
  • qq_27717967
  • 2016年01月27日 14:11
  • 451

51NOD 1432 独木舟(贪心+递归)

传送门 nn 个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?Input...
  • qingshui23
  • qingshui23
  • 2017年04月23日 18:51
  • 406

【51Nod】1432 - 独木舟(贪心)

题目链接:点击打开链接 1432 独木舟 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 ...
  • wyg1997
  • wyg1997
  • 2016年12月07日 20:45
  • 127

1432 独木舟

原题链接http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1432解题思想/* 此题为典型的贪心算法题。 首先题目说每个人都能...
  • Dragonlogin
  • Dragonlogin
  • 2017年06月19日 21:19
  • 117

baiduinput_ipad_v2.0.0.19_1432c

  • 2015年06月09日 09:06
  • 2.93MB
  • 下载

Add-in Express Version 8.1 Release (build 1432) - 10.2 Tokyo

  • 2017年11月03日 19:01
  • 14.95MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:51ND 1432 独木舟
举报原因:
原因补充:

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