P2434果园看守

来源:互联网 发布:网络名字大全霸气 编辑:程序博客网 时间:2024/04/24 21:52

时间限制 : 10000 MS 空间限制 : 165536 KB
问题描述

重庆有很多区县都盛产水果,每当到了水果成熟的时节,何老板就会看准商机,推出了一项名为“果园守望者”的服务。该服务很简单,就是何老板安排人手去为你看守果园,帮你驱赶鸟兽或者小偷。
最近,何老板又签下了一个看守合同,该合同需要何老板派人看守一个果园,时间是从第A天起一直到第B天。在这B-A+1天里,要求每天至少有一个人在看守果园。
何老板手下共有N个员工。每个员工都对自己的工作时间和报酬有一定的要求,比如员工甲只在T1..T2这段时间工作,并要求S1元的报酬;员工乙只在T3..T4这段时间工作,并要求S2元的报酬……
请你帮助何老板安排一个工作时间表,使得从第A天到第B天每天至少有一个员工在看守果园,并且使得何老板支付的报酬总数尽可能少。

输入格式

第一行,三个空格间隔的整数N,A,B
接下来N行,每行三个整数T1,T2,和S,表示对应员工愿意工作的起止时间和要求的报酬。

输出格式

一个整数,表示何老板需支付的最少报酬总数。如果无法安排员工完成工作,输出-1

样例输入 1

3 0 4
0 2 3
3 4 2
0 0 1

样例输出 1

5

样例输入 2

5 0 4
2 2 2
1 1 1
4 4 4
0 0 0
3 3 3

样例输出 2

10

题解

正解本应是dp加线段树维护,但初看此题,难道不是裸的一道最短路?将每个线段看作从x到y+1的一条边,为解决重叠问题,故在每在每一个点连一条i,i-1的反向边。

代码

#include <stdio.h>#include <algorithm>#include <cmath>#include <cstring>#include <queue>#include <iostream>using namespace std;#define maxn 500000#define inf 0xfffffffint Next[maxn],Last[maxn],End[maxn],Len[maxn];int n,st,en;int dis[maxn];int cnt;bool mark[maxn];queue<int>q;void spfa(){    int i,j,k;    for(i=st;i<=en+1;i++) dis[i]=inf;    q.push(st);    mark[st]=true;    dis[st]=0;    while(q.size())    {        int x,l;        x=q.front();        q.pop();        mark[x]=false;        for(l=Last[x];l;l=Next[l])        {            int en=End[l];            if(dis[en]>dis[x]+Len[l])            {                dis[en]=dis[x]+Len[l];                if(mark[en]==false)                {                    mark[en]=true;                    q.push(en);                }            }        }    }}void insert(int x,int y,int z){    cnt++;    Next[cnt]=Last[x];    Last[x]=cnt;    Len[cnt]=z;    End[cnt]=y;}int main(){    int i,j,k;    int maxx;    scanf("%d%d%d",&n,&st,&en);    for(i=1;i<=n;i++)    {        int x,y,z;        scanf("%d%d%d",&x,&y,&z);        insert(x,y+1,z);    }    for(i=st;i<=en+1;i++)    {       insert(i,i-1,0);    }    spfa();    if(dis[en+1]!=inf) cout<<dis[en+1];    else cout<<-1;}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝六个月了便秘怎么办 宝宝拉水酸臭味怎么办 50天婴儿不拉屎怎么办 六个月宝宝吃米粉便秘怎么办 纯母乳喂养的宝宝便秘了怎么办 换奶粉拉绿色是怎么办 2个月宝宝发烧怎么办 小宝绿色稀大便怎么办 新生儿吃奶粉大便干燥怎么办 婴儿拉绿色奶瓣怎么办 宝宝吃奶粉大便干燥怎么办 婴儿吃奶粉不大便怎么办 孩子喝奶粉拉大便干怎么办 吃奶粉拉不出来怎么办 一岁半宝宝睡觉抱着睡放不下怎么办 3月大婴儿拉奶瓣怎么办 70多天宝宝便秘怎么办 宝宝喝奶粉上火便秘怎么办 a2奶粉吃了便秘怎么办 两个月宝宝两天没有大便怎么办 婴儿一直拉肚子吃药也不好怎么办 吃奶粉的婴儿便秘怎么办 一个多月小狗便便不成形怎么办 3个月宝宝不拉屎怎么办 好几天不拉大便怎么办 20个月宝宝大便干燥怎么办 两月宝宝三天没大便怎么办 六个月宝宝大便干燥怎么办 五个月宝宝拉肚子怎么办拉水样 2个月婴儿拉稀水怎么办 两个月的宝宝拉肚子怎么办 两天了不拉大便怎么办 25天的宝宝便秘怎么办 2个月宝宝便秘怎么办 猫拉绿色稀水怎么办 50天的宝宝便秘怎么办 人工喂养大便次数少怎么办 4个月宝宝肠炎怎么办? 三个月的宝宝拉肚子有奶瓣怎么办 吃米粉后不拉屎怎么办 宝宝拉绿色稀水怎么办