纪念品分组

Posted zhinv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纪念品分组相关的知识,希望对你有一定的参考价值。

纪念品分组

难题不会做,只能来做这种简单题
当年看起来无比难的题现在竟然如此简单了
希望有一天能够看现在的难题也很简单吧.

  • 贪心
  • front 指向最前,rear 指向最后,如果 p[front]+p[rear] (leq) w,则归到一组,否则 p[front] 单独一组
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN=3e4+5;
int p[MAXN];
int main()
{
    int w,n;
    scanf("%d",&w); 
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d",&p[i]);
    sort(p+1,p+n+1);
    int cnt=0,front=1,rear=n;
    while(front<=rear){
        if(front==rear){
            cnt++;
            break;
        }
        if(p[front]+p[rear]<=w){
            cnt++;
            front++;rear--;
        }
        else{
            cnt++;
            rear--;
        }
    }
    printf("%d",cnt);
    return 0;
}


以上是关于纪念品分组的主要内容,如果未能解决你的问题,请参考以下文章

纪念品分组

luogu tyvj 纪念品分组

纪念品分组

NOIP200702纪念品分组

noip普及组2007 纪念品分组

2007纪念品分组