樹狀陣列是一種類似於線段樹的資料結構,用於區間查詢和區間更新。
其結構如下圖:
該結構的建立複雜度為o(n),單次查詢和修改的複雜度都是o(logn)。
更詳細的講解可以參見部落格樹狀陣列詳解
讀入資料同時記錄result為1的總數total。時間複雜度o(n)。
排序:先將原資料,按照y為主關鍵字降序,result為次關鍵字降序。時間複雜度o(nlogn)。
建立樹狀陣列,時間複雜度o(n)。
迴圈i:1->n,對於i查詢i及其之前的result為1的總和sum(i),以及i 之後的0的總數n-i-(total-sum(i)),這兩個的總和即為準確的次數num,在迴圈過程中記錄num的最大值,及對應的最大y。該項時間複雜度為o(nlogn)。
綜上,該演算法總時間複雜度為o(nlogn)
2020 12 1 題目題解
題目傳送門 joi 公司的某個實驗室中有著複雜的電路。電路由 n 個節點和 m 根細長的電阻組成。節點編號為 1 sim n 每個節點可設定為兩種電平之一 高電平或者低電平。每個電阻連線兩個節點,只有一端是高電平,另一端是低電平的電阻才會有電流流過。兩端都是高電平或者低電平的電阻不會有電流流過。試求...
開發日記 2020 12 1 複雜排序
最近在乙個專案裡有個任務。任務裡涉及到兩張表 賬號表 user 使用者審核記錄表 usercheck 任務要求 父賬號的排序 要按照父賬號下屬的子賬號的最新審核記錄為 等待審核 如果都是 等待審核 就再按審核時間排序。任務裡涉及到兩張表 賬號表 user 使用者審核記錄表 usercheck 下面是...
開心開心開心極了 2020 12 1日記
今天也沒做什麼事情,但是晚上此刻寫日記的我,心情就是不錯。記錄一下今天發生了什麼吧。早上去上數電的最後一節課,剛上課,老師說我們是二月一號放寒假,那你們想結課了就早一點把這門課考了還是等到期末啊。他剛說完,大家沒有過多的思考,底下就說了想期末的時候再考。她有點詫異,你們不是不少課都要結課了嘛 我靈機...