2016-01-29 118 views
1

我在CodeChef(https://www.codechef.com/problems/SUBINC)上計算嚴格非遞減的子數組時遇到了問題。儘管多次閱讀說明,但我無法破譯我所期望的。子陣列計數 - 需要幫助

我主要是具有兩個語句一個問題:

1)*」 所有有效子陣列A [1,1],A [1,2],A [2,2],A [ 3,3],A [3,4],A [4,4]。「*

如果子陣是1 4 2 3,那麼A [2,2]; A [3,3 ]; A [3,4];和A [4,4]是否有效?(僅當前向元素是遞減順序時纔是非遞減的)爲什麼A [1,1]有效?

2)「只有單個子數組A [1,1]是非遞減的。」

類似的問題在這裏。如果陣列本身只有1,那麼你如何計算A [1,1]是sub -array?

也許我完全沒有意識到要做什麼,因爲這個問題已經被許多人解決了,但真正感謝了一些幫助。

P.S I代碼在Java中,我不是很舒服的C,所以這就是爲什麼我不明白大多數提交。

+0

*你怎麼計算A [1,1]是一個子數組* *因爲指令說「單個子數組是相同的非遞減的」 –

回答

2

好吧,你有四個數字 1 4 2 3

記號A[i, j]說的數組:「就拿陣列中的所有元素從索引i到索引j」。

A[1,2]將代表一個子陣列:1 4

A[1,3]將代表一個子陣列:1 4 2

A[1,4]將整個陣列:1 4 2 3

和陣列的任何單個元件是一個子陣列也 所以當我們說A[1,1]這意味着我們需要從索引1開始到索引1,所以它將只是一個數字:1

A[2,2]因此是4等等)。

Non-decreasing表示數組的下一個元素不能小於前一個。所以一個元素的數組總是非遞減的,它的下一個元素不存在(所以它不能少)。