• GRYZY #8. 公交车


    公交车(bus)

    Time Limit:1000ms Memory Limit:128MB

    题目描述

    LYK在玩一个游戏。

    有k群小怪兽想乘坐公交车。第i群小怪兽想从xi出发乘坐公交车到yi。但公交车的容量只有M,而且这辆公交车只会从1号点行驶到n号点。

    LYK想让小怪兽们尽可能的到达自己想去的地方。它想知道最多能满足多少小怪兽的要求。

    当然一群小怪兽没必要一起上下车,它们是可以被分开来的。

    输入格式(bus.in)

    第一行三个数k,n,M。
    
    接下来k行每行3个数xi,yi和ci。其中ci表示第i群小怪兽的小怪兽数量。

    输出格式(bus.out)

    一个数表示最多有多少只小怪兽能满足要求。 

    输入样例

    3 5 3

    1 3 4

    3 5 2

    1 5 3

    输出样例

    5

    样例解释

    第一群的3只小怪兽在1号点上车,并在3号点下车。

    第二群的2只小怪兽在3号点上车,5号点下车。

    数据范围

    对于30%的数据小怪兽的总数不超过10只,n<=10。

    对于另外30%的数据k,n<=1000。

    对于100%的数据1<=n<=20000,1<=k<=50000,1<=M<=100,1<=ci<=100,1<=xi<yi<=n。

    很容易可以看出此题可以转化成线段覆盖问题

    然后每次暴力修改区间球可以,因为数据水,你也可以某些数据结构优化

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int maxn = 50005;
    int k,n,m;
    struct node{
        int h,t,num;
        bool operator < (const node & a)const {
            return t<a.t;
            return h<a.t;
        }
    }edge[maxn];
    int peo[maxn];
    int main () {
        scanf("%d%d%d",&k,&n,&m);
        for(int i=1;i<=k;++i) {
            scanf("%d%d%d",&edge[i].h,&edge[i].t,&edge[i].num);
        }
        sort(edge+1,edge+k+1);int ans=0;
        for(int i=1;i<=k;++i) {
            if(edge[i].t>n)break;
            if(peo[edge[i].h]>=m)continue;
            int minn=0x7fffffff;
            for(int j=edge[i].h;j<=edge[i].t;++j){minn=min(m-peo[j],minn);if(minn<=0)break;}
            if(minn>0) {
                if(minn>=edge[i].num) { 
                    for(int j=edge[i].h;j<edge[i].t;++j)peo[j]+=edge[i].num;
                    ans+=edge[i].num;
                }
                else {
                    for(int j=edge[i].h;j<edge[i].t;++j)peo[j]+=minn;
                    ans+=minn;
                }
            }
        }
        printf("%d
    ",ans);
        return 0;
    }
  • 相关阅读:
    CHtmlEditCtrl (3): More HTML Editor Options
    CHtmlEditCtrl (2): Add a Source Text Editor to Your HTML Editor
    CHtmlEditCtrl(1) : Use CHtmlEditCtrl to Create a Simple HTML Editor
    HttpWebRequest抓取网页数据返回异常:远程服务器返回错误: (503) 服务器不可用
    HttpWebRequest: Remote server returns error 503 Server Unavailable
    所有的图片后缀名
    system函数的应用一例
    esUtil.h中的m变量报错
    IIS通过HTML5实现应用程序缓存的离线浏览
    鼠标悬浮在img上让图片变大
  • 原文地址:https://www.cnblogs.com/sssy/p/7693183.html
Copyright © 2020-2023  润新知