題目鏈結
小k是乙個海港的海關工作人員,每天都有許多船隻到達海港,船上通常有很多來自不同國家的乘客。
小k對這些到達海港的船隻非常感興趣,他按照時間記錄下了到達海港的每一艘船隻情況;對於第i艘到達的船,他記錄了這艘船到達的時間ti (單位:秒),船上的乘客數ki,以及每名乘客的國籍 xi,1, xi,2,…,xi,ki。
小k統計了n艘船的資訊,希望你幫忙計算出以每一艘船到達時間為止的24小時(24小時=86400秒)內所有乘船到達的乘客來自多少個不同的國家。
形式化地講,你需要計算n條資訊。對於輸出的第i條資訊,你需要統計滿足 ti - 86400 < tp <= ti的船隻p,在所有的xp,j中,總共有多少個不同的數。
第一行輸入乙個正整數n,表示小k統計了 n艘船的資訊。
接下來n行,每行描述一艘船的資訊:前兩個整數ti和ki分別表示這艘船到達海港的時間和船上的乘客數量,接下來ki個整數x(i,j)表示船上乘客的國籍。
保證輸入的ti是遞增的,單位是秒;表示從小k第一次上班開始計時,這艘船在第ti秒到達海港。
保證 1≤n
≤105
,∑ki
≤3∗1
05,1
≤x(i
,j)≤
105,1≤
ti−1
≤ti≤
109。
1 ≤ n ≤ 10^5 , \sum≤ 3*10^5, 1≤ x(i,j) ≤ 105 , 1 ≤ t_≤ t_i ≤ 10^9。
1≤n≤10
5,∑k
i≤3
∗105
,1≤x
(i,j
)≤10
5,1≤
ti−1
≤ti
≤10
9。其中 ∑ki
\sum
∑ki
,表示所有的 k
ik_i
ki 的和。
輸出n行,第i行輸出乙個整數表示第i艘船到達後的統計資訊。
3
1 4 4 1 2 2
2 2 2 3
10 1 3
3
44
4
1 4 1 2 2 3
3 2 2 3
86401 2 3 4
86402 1 5
333
4
這道題確保了輸入的有序性,所以只需每次輸入維護一下答案即可,ac**如下:
#include
using
namespace std;
typedef
long
long ll;
const
int n=
1e5+5;
int n,p,sum=0;
int t[n]
,k[n]
,vis[n]
,s=0
;vector<
int>q[n]
;int
main()
while
(t[i]
-t[s]
>=
86400
) s++;}
printf
("%d\n"
,sum);}
}
NOIP2016普及組第三題 海港
題目描述 小k是乙個海港的海關工作人員,每天都有許多船隻到達海港,船上通常有很多來自不同國家的乘客。小k對這些到達海港的船隻非常感興趣,他按照時間記錄下了到達海港的每一艘船隻情況 對於第i艘到達的船,他記錄了這艘船到達的時間ti 單位 秒 船上的乘 客數星ki,以及每名乘客的國籍 x i,1 x i...
2016NOIp普及組 海港 模擬
洛谷p2058 小k是乙個海港的海關工作人員,每天都有許多船隻到達海港,船上通常有很多來自不同國家的乘客。小k對這些到達海港的船隻非常感興趣,他按照時間記錄下了到達海港的每一艘船隻情況 對於第i艘到達的船,他記錄了這艘船到達的時間ti 單位 秒 船上的乘 客數星ki,以及每名乘客的國籍 x i,1 ...
noip2016普及組複賽總結
9點半從紀中出發,大概11點多來到廣州六中。在六中旁邊一家小餐館吃了中餐,那餐廳真心很貴,一盆飯就要20元,我們那桌吃了四 盆.xc 不想買單啦 啦啦啦 然後就來到六中的某個功能室百無聊賴的休息了一會兒,兩點鐘進考場。兩點半 比賽開始,還是先看題.一二兩題太水了,直接開碼,1小時搞定兩題 三點半 仔...