i700. C.別再問ㄌ(annoying)
標籤 :
通過比率 : 11人/15人 ( 73% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-09-28 14:16

內容

題敘就不囉嗦ㄌ。
    我會給你一堆長度介於1到5之間的小寫英文字串,然後狂問,問爆的那種。
但只會問兩種問題:
    1.若依字典序排列,詢問某一個字串是整排字串裡面排倒數第幾個的。
    2.詢問在原序列中的某一個字串前,有幾個字串的字典序在他前面。

兩個字串若要依字典序進行比較,我們會從字串中的第一個字元開始逐字比較。
若遇到相異的情況,則兩字串的大小關係即為該相異字元的大小關係(例如a在z前面、h在g後面)。若未比出大小,某一字串就已經抵達末端,則較長字串的字典序在後。
詳見範例說明。

輸入說明


第一行為一個正整數 $n$ ,表示總共有 $n$ 個字串。 

第二行有 $n$ 個長度介於1到5之間的小寫英文字串,字串的出現順序即為該字串的編號,此字串序列還未經字典序排列。 

第三行會有兩個正整數 $q_1$,$q_2$,表示會問 $q_1$ 次「某一個字串的字典序是整排字串裡面排倒數第幾個的」,再問 $q_2$ 次「在某一個字串前,有幾個字串的字典序在他前面」。

第四行會有$q_1$ 個正整數($a_1$,$a_2$,$a_3$,...),分別詢問編號為 $a_1$,$a_2$,$a_3$,... 之字串的字典序是整排字串裡面排倒數第幾個的。

第五行會有 $q_2$ 個正整數($b_1$,$b_2$,$b_3$,...),分別詢問編號為 $b_1$,$b_2$,$b_3$,... 的字串前,有幾個字串的字典序在它前面。

同一行中若出現數個字串或數字,皆會以空白隔開。

輸出說明

請輸出 2 行,第一行輸出 $q_1$  個正整數,依序回答第一種詢問的所有提問。
第二行輸出 $q_2$ 個正整數,依序回答第二種詢問的所有提問。
數字間皆由空白隔開。

範例輸入 #1
5
ok ok okk okg o
4 3
1 2 3 5
5 3 4
範例輸出 #1
3 3 1 5
0 2 2
範例輸入 #2
10
ricky lai is the best ceo in the world xd
8 6
9 1 5 6 7 3 2 4
5 2 6 9 1 2
範例輸出 #2
2 5 10 9 8 7 6 3
0 0 1 8 0 0
測資資訊:
記憶體限制: 512 MB
提示 :

範例1說明
原字串序列為 ok ok okk okg o,依字典序,排序後變成o ok ok okg okk。
針對第一種問題的4個詢問,可看出:
編號為1的ok是排在倒數第3個。
編號為2的ok是排在倒數第3個。
編號為3的okk是排在倒數第1個。
編號為5的o是排在倒數第5個。
針對第二種問題的3個詢問,可看出:
編號為5的o,在原序列中,前面沒有字串的字典序在它前面,因為o是經字典序排列後的第一個字串。
    編號為3的okk,在原序列中,它前面有2個字串(ok、ok)的字典序在它前面。
編號為4的okg,在原序列中,它前面有2個字串(ok、ok)的字典序在它前面。

測資限制

  1. 1 <= n <= 1e5
  2. 1 <= $q_1$, $q_2$ <= min(1e5,n )

評分說明

  1. n <= 1000, 且字串的長度均為1。(20%)
  2. n <= 1000。(20%)
  3. $q_1$=10,  $q_2$=1。(10%)
  4. $q_2$=1。(15%)
  5. 無額外限制。(35%)
標籤:
出處:
2022成功高中校內賽 [管理者: CGSH (快加油吧~~) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」