題意:求二維和與rmq,保證每次查詢的區間長寬不超過整個矩陣長寬的一半
分析:二維和沒難度,二維rmq這裡因為資料有問題(?)只好開short水過,同時順便加上了連續訪問的黑科技然後卡了過去
不過正解是經典的思想,就是一種簡單的變形(但好難寫啊qaq),我們考慮f(
i,j,
k)表示以(i
,j) 為左上角,邊長2k
的正方形的rmq,然後很顯然滿足題意的區間只用最少
8 個就可以全部覆蓋,那麼這裡就可以空間開的足夠小了(甚至不用卡)
題意:給出最多
n個約束表示某個數要在另乙個數左邊,問能有多少種可行排列
分析:做過的題……首先這裡如果有環的話顯然答案是
0 ,那麼就只能是一堆森林了。然後設多乙個虛擬節點,就直接樹形dp,我們考慮f(
x)是x
子樹所對應序列的方案數,若將
x的直接孩子記為
soni(x
) (也就是存在關於
x 的直接約束),我們馬上可以看出對於每個孩子分別方案數算好後乘在一起,就相當於若干種元素的帶重排列了,那麼dp方程顯然:f(
x)=(
∑size
(soni(
x)))
!∏(size
(soni(
x)))
!f(soni(
x))預處理下階乘就好了,預處理的時候用了o(
n+lg
n)的黑科技跑進了第一頁(目前)題意:改變某個位置上的數,改變乙個區間內位置的可選情況,問每次改變後怎樣選乙個位置使得所有位置上數及位置間距離乘積的和最小(即選乙個
k 最小化∑i
=1nv
i|i−
k|) 分析:因為每個位置上的學生數目都非負,那麼容易看出每個位置上距離和有單調性,我們如果不考慮某個區間可選還是不可選,那麼剛剛好最後乙個使得和上乙個距離和的差小於等於
0 的位置就是答案
這個東西非常類似申請空間的一類線段樹問題,於是我們就可以用線段樹去強行維護,標記下放還挺好想的
至於有位置可選情況的操作問題,我們同樣可以線段樹一波,因為這裡單調性和區間沒什麼關係,我們只要找到沒被覆蓋的區域裡面靠左最近的可行點和靠右最近的可行點就好了(如果原來需要選的位置被覆蓋了就只能這樣了)
遠古時期的題目……題意:給出
n個隨機數的數列,第
i 個數的範圍是[l
i,ri
]裡隨機的整數,求將數列排序後每個數的期望排名與另乙個權值si
的乘積和
分析:現在看來似乎不是很難做?(霧)
我們考慮掃一遍的時候維護乙個桶,用來表示某個取值的數的期望個數,然後考慮第
i 個數,暴力考慮[l
i,ri
]的範圍,每乙個位置有1r
i−li
+1的貢獻,然後求每個答案的時候同樣列舉下[l
i,ri
] ,每一次都暴力掃前面的數加起來搞貢獻,再暴力求和乘因子(同上)就可以做了
但是這個樣子太暴力了,我們需要資料結構維護……考慮這裡要支援的無非是區間加+區間等差型求和,差分一下(或者說考慮每個數對後面的貢獻,對於[l
i,ri
] 範圍內的就是向上的直線,然後對比ri
大的貢獻就固定了),就變成了gdoi老題的弱化版,考慮線段樹標記下傳的時候,直接拆成兩半,中間的貢獻用數列的公式直接算就好了……
對了,如果是實數怎麼辦?木子爺也秒掉了……用積分可以發現是12
x2的貢獻,然後就變成兩邊都等差數列了,多維護乙個和,還是可以直接做……
17 10 20題目泛做
終於停課了 於是來補一發題解 hzwers模擬t1 逗比三角形 題意 給若干個三角形的三邊長然後問如何把這些三角形放在乙個寬度l ll高度無限的矩形框裡面使得這些三角形有一條邊緊貼矩形底邊的同時在矩形框裡面覆蓋的面積最大,並算出這個面積 分析 這非常結論題 顯然我們把三角形裡面最短的那條邊放在下面是...
CS Academy 題目泛做
乙個神犇同學向我推薦了這個oj。這個oj上的題目都是挺經典的。資料 標程 題解都有,已經是很方便了。出於強迫症,下面的題目按照字典序排列。太簡單的題大家應該都能一看就會,就直接略了。這個網經常崩,做起來好麻煩,所以這個坑先停了吧 addition 略。a game 顯然如果當前還有b就不會去選a。也...
題目泛做 蛋糕(分治NTT)
原題是thupc2018蛋糕,然後這裡擴充套件到了n維,沒什麼區別。核心思想就是乙個塊在其他維度上隨便亂跑,在這個維度上也能隨便亂跑。所以我們實際上要考慮的就是在每一維上出現0,1,2個面的方案數。每一維可以任意選擇,所以直接分治ntt把每一維的生成函式乘起來就行了。include define l...