11 28日訓練賽總結

2021-08-12 00:11:34 字數 786 閱讀 6490

2. **

在[[0, 0], [n, m]] 中有 k 個點, 問從 x=0 移動到 x=n 的過程中,與這些點以及 y=0 和 y=m 的最小距離的最大值為多少?

簡單題。將 距離小於等於 2d 的 元素 連起來,若上下邊界聯通則不合法。考慮最小生成樹的過程,做一遍 ο(n2) 的 prim 就可以了。

考試時智障,沒想到平方 prim,想用 m log m 的 prim c 過去,結果單調佇列寫炸了 其實是線段樹 ,最後只有十分……

給乙個序列,選每個數有乙個代價,問選出乙個 極長(即不可改進)上公升 子串行 的最小代價。

據說是套路……

將(i, p[i])轉置為(p[i], i),順序考慮每乙個點,記f[i]為 字首i 以p[i]結尾的極長上公升子串行的最小代價。

若f[j]能轉移到f[i],則(p[j], j)一定在順x軸生成的遞減單調棧上。

因為將兩個單調棧「相接」,後者對前者的影響歸結於其首個元素(棧底)元素,所以不妨記mxf(l, r, x)為區間[l, r]內的單調棧在插入x後所剩餘點的最大f。

那麼把問題放到線段樹上做,同時每個左兒子記錄一下mxf(l, mid, [mid+1, r]的單調棧頂)即可。

對每乙個點 u 求

\begin\min\(u, v)}|v 是 u 的祖先\}\end

鏈上顯然就是乙個求凸包的過程,那麼到樹上呢?

注意到在樹上即使支援暴力彈棧也沒有複雜度保證,所以需要資料結構支援。

什麼資料結構?splay?主席樹?

只需要每個點記錄插入該點時的倍增陣列就行了。

訓練賽 2023年1月16日訓練賽總結

訓練賽位址 rank 3 總結一下訓練賽的情況,53分鐘出6道水題以後暫列第一,手速其實還可以,狀態也不錯,不過之後可能就浮躁了,然後看題目也看不全,寫 也是缺三漏四。c題錯在沒有初始化陣列。wa1。d題沒有看資料範圍一看題就以為是最長上公升子串行,然後t了,然後重新看題目,才發現是每次上公升1的子...

訓練賽總結

今天打比賽,會做的題比較簡單,細節要注意,第一點string溢位問題 這是當前系統最長能存的位元組數,所以改用char還是得用char,沒辦法 有乙個題,是快速冪,還有乙個題像是單調棧,但是卡了負數,單調棧遇到負數不知道怎麼寫了,所以今天就水了兩個簡單題。心裡很難受,排到了600多名,連一些職業院校...

訓練賽小總結

發現有時候自己打比賽打的一塌糊塗,其實並不是水平不夠不會寫,只是陷入了自己構思的假演算法中,思維被束縛在之前構思的牢籠裡了,然後錯了十幾次也寫不對。突然發現以前訓練賽我不會寫了,上了個廁所重新構思題目就切出來了,wf更是直播東京大學上廁所過題法,所以我覺得重新構思很重要,接下來記錄一下我的比賽技巧 ...