NOIP 2016 普及組 海港

2021-10-03 09:26:12 字數 1704 閱讀 8890

題目鏈結

小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小時搞定兩題 三點半 仔...