【贪心】【CTSC2007】【cogs1584】挂缀

原创 2015年07月06日 16:31:37

1584. [CTSC2007]挂缀

★★   输入文件:pendant.in   输出文件:pendant.out   简单对比
时间限制:1 s   内存限制:256 MB

【题目描述】
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

题解:
十分智慧的贪心。。
第一眼就想到是要双关键字排序,推导一下可以发现,只要将C与W的加和排序即可,然后用一个大根堆维护一下即可(我比较懒。。直接用的STL。。)

Code:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<queue>
#include<algorithm>
#define N 200010
using namespace std;
struct point{
    long long c,w,s;
}a[N];
priority_queue<int> q;
long long n,sum,ans;
long long in(){
    long long x=0; char ch=getchar();
    while (ch<'0' || ch>'9') ch=getchar();
    while (ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar();
    return x;
}
bool cmp(point x,point y){
    return x.s<y.s;
}
int main(){
    n=in();
    for (int i=1; i<=n; i++){
        a[i].c=in(),a[i].w=in();
        a[i].s=a[i].c+a[i].w;
    }
    sort(a+1,a+n+1,cmp);
    sum=0,ans=0;
    for (int i=1; i<=n; i++){
        if (sum<=a[i].c)
            q.push(a[i].w),sum+=a[i].w,ans++;
        else {
            int top=q.top();
            if (sum<=(a[i].c+top) && top>a[i].w)
                sum+=(a[i].w-top),q.pop(),q.push(a[i].w);
        }
    }
    printf("%lld\n%lld\n",ans,sum);
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

【CTSC2007】挂缀 贪心

题目描述 Description“珠缀花蕊,人间几多酸泪”…… 挂缀在很早就被人们作为一种装饰品,垂坠的风韵,华丽摇曳的摆动,展现出一种与众不同的优雅与高贵。而我们的主人公小Q,正想买一条漂亮的挂...
  • LOI_DQS
  • LOI_DQS
  • 2015年10月30日 22:10
  • 713

[CTSC2007]挂缀pendant

题目大意: 给你n个钩码,每个钩码有一个承受能力和重量,问最多可以挂多少个钩码,再上一问的条件下,钩码总重最小是多少 n 这题明显是贪心 于是我们要找一个贪心策略,我们先假设没有按任何方...
  • u012608907
  • u012608907
  • 2013年10月31日 13:46
  • 862

【ctsc2007】【挂缀】

题目描述 Description “珠缀花蕊,人间几多酸泪”……  挂缀在很早就被人们作为一种装饰品,垂坠的风韵,华丽摇曳的摆动,展现出一种与众不同的优雅与高贵。而我们的主人公小Q,正想买一条...
  • sunshinezff
  • sunshinezff
  • 2015年07月05日 20:42
  • 593

[CTSC2007]挂缀 解题报告

时限:1s;内存限制:162MB 这真的是一道非常非常好的题,我做了很久很久。 在网上只能搜到只有结论的贪心题解和一篇关于这道题的非常简略的论文,导致我一直想不通为什么,不过还是很...
  • TA201314
  • TA201314
  • 2015年09月10日 21:49
  • 622

COGS 1584. [CTSC2007]挂缀

08年的论文里的方法看了半天觉得好奇怪 算法2各种看不懂。 然后发现算法1好像不用平衡树哎。 不如把算法1的动规改成贪心,然后用堆维护一下就好了。 #include #include #inc...
  • nlj1999
  • nlj1999
  • 2016年03月20日 12:41
  • 128

[bzoj1148][CTSC2007]挂缀pendant

大意:给定若干个任务,每个任务只能在给定时刻c[i]前开始,时长w[i],求最多能完成的任务. 可以看成: 有若干区间,给出长度len[i]和左端点l[i]的限制,选出尽量多使其互不重叠. 右端...
  • YZHYZHYZH3
  • YZHYZHYZH3
  • 2017年11月17日 13:53
  • 53

1148: [CTSC2007]挂缀pendant

题目链接题目大意:n个珠子,每颗有重量和载重量,一个合法的挂坠需要其上每一个珠子下面的所有珠子的重量和小于这个珠子的载重量 求挂坠最长长度及此时最小重量题解:显然可以用经典的堆维护贪心方法来搞 现...
  • Mmh2000
  • Mmh2000
  • 2017年07月23日 19:03
  • 118

codevs 2382 [CSTC2007] 挂缀 贪心

GG
  • qq_36312502
  • qq_36312502
  • 2017年10月16日 21:47
  • 71

挂缀codevs2382

题目描述 Description“珠缀花蕊,人间几多酸泪”…… 挂缀在很早就被人们作为一种装饰品,垂坠的风韵,华丽摇曳的摆动,展现出一种与众不同的优雅与高贵。而我们的主人公小Q,正想买一条漂亮的挂...
  • qq_36312502
  • qq_36312502
  • 2017年08月20日 15:48
  • 88

Codevs 挂缀

题目描述 Description “珠缀花蕊,人间几多酸泪”……  挂缀在很早就被人们作为一种装饰品,垂坠的风韵,华丽摇曳的摆动,展现出一种与众不同的优雅与高贵。而我们的主人公小Q,正想买一条...
  • LOI__DiJiang
  • LOI__DiJiang
  • 2015年11月02日 09:04
  • 296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【贪心】【CTSC2007】【cogs1584】挂缀
举报原因:
原因补充:

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