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;}
阅读全文
0 0
- P2434果园看守
- 皇宫看守
- 醉汉看守
- 洛谷 P2434 [SDOI2005]区间
- 洛谷 P2434 [SDOI2005]区间
- 洛谷P2434 SDOI 区间
- 果园监控
- 让规则看守世界
- 皇宫看守(guard)
- 皇宫看守 树形DP
- 果园工厂模式
- 果园守望者
- 果园里的树
- 果园里的树
- 果园里的树
- 果园里的树
- 果园里的果树
- 果园里的树
- radio 获得选中的值
- Linux学习之IP地址配置与XShell的使用
- COdeforces 313A
- linux进程存储管理--进程内存结构
- Idea开发工具常用的快捷键
- P2434果园看守
- 关于NAT穿越的那些事儿
- win10配置java环境时出现问题的解决
- android的glide的使用
- AndroidStudio导入xUtils时出现 找不到org.apache.http.client.method等错误
- python语法
- JavaScript 常用方法总结
- bootstrap navBar demo
- 双值保存的最大父接口Map