貪心 中位數 字首和 差分

2022-09-13 01:36:12 字數 1643 閱讀 1431

1. 紙牌問題 - 貪心

洛谷 p1031 均分紙牌 (單次運算元為任意數)

2. 環形紙牌 - 中位數,字首和

codevs1485 七夕祭

洛谷p2512 [haoi2008] 糖果傳遞 單次運算元為1 (一定存在兩個人不交換的最優解-->於是我們環拆鏈)

3. 區間問題

① poj3614 / 洛谷 p2887 sunscreen (貪心+優先佇列)(pair賽高)

(for迴圈因為自己智障卡死(詳見第乙個for迴圈中畫蛇添足加的判斷——我覺得主要是 j 計數的問題))

② poj3190

/ 洛谷p2895

(貪心+優先佇列)//詳見**注釋(struct賽高)bool operator < (const struct& struct) const{}

③poj1328

//被噁心的資料卡了2小時,主要是它沒和我說d這個半徑會小於0啊!(也不符合馬克思主義啊

七夕祭(貪心 中位數)

傳送門 因為交換同一列的相鄰兩行,這一列的總數不變 交換同一行的相鄰兩列,這一行的總數不變。那麼如果可以平均分配的話,可以先將所有行都分配好,然後再將所有列分配好。這樣就變成了做兩次環形紙牌分配問題,給乙個數列,最後一位和第一位相鄰,問能否平均分配,最少需要傳遞多少次。首先考慮普通紙牌均分問題 有 ...

字首和 差分

數列的字首和 sum i 表示a 1 a i 的和 用處1 求i j的和sum j sum i 1 用處2 區間修改。設定乙個change陣列。當區間 i,j 上要加k時,我們令change i k,令change j 1 k。如果我們對change陣列求字首和的話,字首和sum change i ...

字首和 差分

有n個數和q次操作,每一次操作指明了要操作的區間 l,r 以及讓該區間內的所有元素全部加c 輸出q次操作後所有元素的大小 第一行 n q 1 n,q 2 105 第二行 n個數 a1,a2 an 106 ai 106 接下來q 行 每行3個數 l r c 表示 l,r 區間內每個數加c 1 l r ...