ZJU 3349 Special Subsequence【線段樹】

【題目地址】

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3349

 

【題目大意】

    一個長度爲n的序列,求一個長度最大的子序列(不一定連續),滿足相鄰兩個元素的差的絕對值不超過給定的d。

   

    Sample Input

    5 2
    1 4 3 6 5

    5 0
    1 2 3 4 5

    Sample Output

    3
    1

【解題思路】

    從左到右掃描,並維護一個線段樹(區間樹),記錄當前以某個數結尾的最長子序列的長度,每次都update_max(a, query_max(a – d, a + d) + 1)就好了,最後答案是query_max(-inf, inf)。由於元素的值的範圍很大,要離散化。

 

【代碼】

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章