ECNU 3263 丽娃河的狼人传说(华东师范大学邀请赛) (贪心)
来源:互联网 发布:合金装备经典台词知乎 编辑:程序博客网 时间:2024/05/17 08:13
题目链接:http://acm.ecnu.edu.cn/problem/3263/
丽娃河的狼人传说
Time limit per test: 1.0 seconds
Memory limit: 256 megabytes
丽娃河是华师大著名的风景线。但由于学校财政紧缺,丽娃河边的路灯年久失修,一到晚上就会出现走在河边要打着手电的情况,不仅非常不方便,而且影响安全:已经发生了大大小小的事故多起。
方便起见,丽娃河可以看成是从
请问至少还要安装多少路灯。
Input
第一行一个整数
对于每组数据:
第一行三个整数
n,m,k (1≤n≤103,1≤m≤103,1≤k≤n) 。第二行
k 个不同的整数用空格隔开,表示这些位置一开始就有路灯。接下来
m 行表示约束条件。第i 行三个整数li,ri,ti 表示:第i 个区间[li,ri] 至少要安装ti 盏路灯(1≤li≤ri≤n,1≤ti≤n) 。
Output
对于每组数据,输出 Case x: y
。其中 x 表示测试数据编号(从 1 开始),y 表示至少要安装的路灯数目。如果无解,y 为
Examples
input
35 1 31 3 52 3 25 2 31 3 52 3 23 5 35 2 31 3 52 3 24 5 1
output
Case 1: 1Case 2: 2Case 3: 1
解题思路:
按照右端点 来排序; 然后 扫描区间内 已有的 用需要的数目减去已有的数目,并把此时需要的 标记为存在
#include <iostream>#include <queue>#include <string>#include <cstring>#include <stack>#include <algorithm>#include <stdio.h>#include <cmath>using namespace std;typedef long long ll;const int MAXN=10005;struct light{ int left; int right; int need;}node[MAXN];int cmp(light a,light b){ if(a.right==b.right) return a.left<b.left; return a.right<b.right;}int main(){ int i,j,cont=0; int x,T; int n,m,k; int vis[MAXN]; cin>>T; while(T--) { cin>>n>>m>>k; int ans=0; memset(vis,0,sizeof(vis)); memset(node,0,sizeof(node)); for(i=0;i<k;i++) { cin>>x; vis[x]=1; } for(i=0;i<m;i++) { cin>>node[i].left>>node[i].right>>node[i].need; } sort(node,node+m,cmp); for(i=0;i<m;i++) { if((node[i].right-node[i].left+1)<node[i].need) { ans=-1; break; } else { int temp=0; for(j=node[i].left;j<=node[i].right;j++) { if(vis[j]) temp++; } if(temp<node[i].need) { ans+=node[i].need-temp;// 需要在添加路灯个数 } temp=node[i].need-temp;// 把添加的路灯 设置为 已访问 for(j=node[i].right;j>=node[i].left&&temp>0;j--) { if(!vis[j]) { vis[j]=1; temp--; } } } } printf("Case %d: %d\n",++cont,ans); } return 0;}
阅读全文
0 0
- ECNU 3263 丽娃河的狼人传说(华东师范大学邀请赛) (贪心)
- EOJ 3263 大学生程序设计邀请赛(华东师范大学)- F 丽娃河的狼人传说 贪心
- ECNU Problem #3263 丽娃河的狼人传说(区间贪心)
- EOJ-大学生程序设计邀请赛(华东师范大学)-F-丽娃河的狼人传说
- EOJ-大学生程序设计邀请赛(华东师范大学)-F-丽娃河的狼人传说
- 2017大学生程序设计邀请赛(华东师范大学)F. 丽娃河的狼人传说
- ecnu 丽娃河的狼人传说
- 2017 华东师范大学网赛 F.丽娃河的狼人传说( 贪心)
- 2017 华东师范大学网赛 F.丽娃河的狼人传说 && Problem #3263( 贪心)
- EOJ-3263 丽娃河的狼人传说(贪心)
- EOJ 3263丽娃河的狼人传说(贪心)
- 华东师范大学网赛 丽娃河的狼人传说
- EOJ 3263 丽娃河的狼人传说(贪心)
- 2017 华东师范大学网赛 F 丽娃河的狼人传说
- 2017华东师范大学网赛-丽娃河的狼人传说
- 大学生程序设计邀请赛(华东师范大学)-F-贪心
- 3263 丽娃河的狼人传说
- 丽娃河的狼人传说
- 3672: [Noi2014]购票 树剖+线段树+斜率优化
- TensorFlow
- 全排列
- 牛顿迭代法改造!!!!
- spark dataFrame 新增一列函数withColumn
- ECNU 3263 丽娃河的狼人传说(华东师范大学邀请赛) (贪心)
- 高可用集群Keepalived + nginx
- 39.删除链表中重复的结点
- C++ 带符号和无符号char类型赋值超出表示范围的情况
- android 源码查看方式
- 【湘大oj】1173-(立方和)
- POJ 1632 Vase collection 笔记
- Python列表解析配合if else
- MFCC & PLP