→ bleed1979:感謝提供方法 我再來實作看看 04/30 00:34
※ 引述《bleed1979 (十三)》之銘言:
給定一個數列 a1 ~ an, n <= 10^6, ai <= 10^9
要找出最長的連續子數列 ai ~ aj
使得 ax != ay, for all x != y, i <= x,y <= j
令f(x) = a1 ~ an 中比x小的數字有多少個
把a1 ~ an 轉換成 f(a1) ... f(an)
就可以用陣列的技巧來判斷出現過了沒,因為0 <= f(x) <= 10^6
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.162.51