BestCoder Round #2 1001 TIANKENG’s restaurant(區間內查詢)
題目的意思很好理解:就是給你很多的區間然後讓你找出來區間內可以共同存在的最多的人數。
在來到到離開之前的這段時間內是算的,其他不算。
所以標記一下左右時間點,從左邊加,到右邊就減去了啊。不用每次更新整段區間。
TIANKENG’s restaurant
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 423 Accepted Submission(s): 218
Problem Description
TIANKENG manages a restaurant after graduating from ZCMU, and tens of thousands of customers come to have meal because of its delicious dishes. Today n groups of customers come to enjoy their meal, and there are Xi persons in the ith group in sum. Assuming
that each customer can own only one chair. Now we know the arriving time STi and departure time EDi of each group. Could you help TIANKENG calculate the minimum chairs he needs to prepare so that every customer can take a seat when arriving the restaurant?
Input
The first line contains a positive integer T(T<=100), standing for T test cases in all.
Each cases has a positive integer n(1<=n<=10000), which means n groups of customer. Then following n lines, each line there is a positive integer Xi(1<=Xi<=100), referring to the sum of the number of the ith group people, and the arriving time STi and departure time Edi(the time format is hh:mm, 0<=hh<24, 0<=mm<60), Given that the arriving time must be earlier than the departure time.
Pay attention that when a group of people arrive at the restaurant as soon as a group of people leaves from the restaurant, then the arriving group can be arranged to take their seats if the seats are enough.
Each cases has a positive integer n(1<=n<=10000), which means n groups of customer. Then following n lines, each line there is a positive integer Xi(1<=Xi<=100), referring to the sum of the number of the ith group people, and the arriving time STi and departure time Edi(the time format is hh:mm, 0<=hh<24, 0<=mm<60), Given that the arriving time must be earlier than the departure time.
Pay attention that when a group of people arrive at the restaurant as soon as a group of people leaves from the restaurant, then the arriving group can be arranged to take their seats if the seats are enough.
Output
For each test case, output the minimum number of chair that TIANKENG needs to prepare.
Sample Input
2
2
6 08:00 09:00
5 08:59 09:59
2
6 08:00 09:00
5 09:00 10:00
Sample Output
11
6
Source
#include <algorithm>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <iomanip>
#include <stdio.h>
#include <string>
#include <queue>
#include <cmath>
#include <stack>
#include <map>
#include <set>
#define eps 1e-6
///#define M 1000100
#define LL __int64
///#define LL long long
#define INF 0x7fffffff
#define PI 3.1415926535898
#define zero(x) ((fabs(x)<eps)?0:x)
const int maxn = 10010;
using namespace std;
struct node
{
int l, r;
int sum;
}f[maxn];
int sum[maxn];
int judge(int x, int y)
{
return 60*x+y;
}
int main()
{
int T;
cin >>T;
while(T--)
{
int n;
cin >>n;
int x1, y1, x2, y2;
memset(sum, 0, sizeof(sum));
for(int i = 0; i < n; i++)
{
scanf("%d",&f[i].sum);
scanf("%d:%d %d:%d",&x1, &y1, &x2, &y2);
f[i].l = judge(x1, y1);
f[i].r = judge(x2, y2);
sum[f[i].l] += f[i].sum;
sum[f[i].r] -= f[i].sum;
}
int Max = 0;
for(int i = 0; i <= 24*60; i++)
{
sum[i] += sum[i-1];
Max = max(sum[i], Max);
}
cout<<Max<<endl;
}
return 0;
}
相關文章
- BestCoder Round #25 A,B
- BestCoder Round #3 A,B
- Restaurant Testing Round #12 BREST
- 芻議線段樹 2 (區間修改,區間查詢)
- BestCoder Round #20 B,C
- 日期區間查詢
- 【樹狀陣列 區間更新區間查詢】code陣列
- hdu 5086 Revenge of Segment Tree(BestCoder Round #16)
- 樹狀陣列的區間查詢與區間修改陣列
- Laravel MongoDB 時間區間查詢的問題LaravelMongoDB
- Codeforces Round #336 (Div. 2) D 區間dp
- poj 3237 樹鏈剖分(區間更新,區間查詢)
- BestCoder Round #861001Price List(數學)
- HYSBZ 2243 樹鏈剖分(區間更新,區間查詢)較難
- 1081 線段樹練習 2 單點查詢及區間修改
- 查詢(2)--動態查詢
- 1082 線段樹練習 3 區間查詢與區間修改
- 一次內鏈子查詢優化 2優化
- HDU1698 Just a Hook【線段樹基礎:區間修改+區間查詢】Hook
- POJ 3468 【區間修改+區間查詢 樹狀陣列 | 線段樹 | 分塊】陣列
- Mysql 日期格式化 複雜日期區間查詢MySql
- 樹狀陣列單點更新和區間查詢陣列
- 線段樹(1)建樹、單點修改、單點查詢、區間查詢和例題
- POJ 1195-Mobile phones(二維樹狀陣列-區間更新區間查詢)陣列
- 第八大奇蹟【區間查詢第8大數】
- LintCode 二叉查詢樹中搜尋區間
- JdbcTemplate查詢資料 三種callback之間的區別JDBC
- 變化的區間樹狀陣列,單點查詢陣列
- MongoDB查詢內嵌文件MongoDB
- JPA時間段查詢
- MySQL查詢時間段MySql
- oracle表空間查詢Oracle
- mysql 查詢undo空間MySql
- 表空間大小查詢
- 表空間查詢資訊
- 線性時間查詢
- SQL時間段查詢SQL
- 空間修改及查詢