2018 多校聯合訓練 1

2022-05-27 20:24:10 字數 1505 閱讀 8130

problem a

首先解方程

$\frac + \frac + \frac = n$

$\frac + \frac + \frac = 1$

如果$a, b, c$都必須為正整數,那麼令$a <= b <= c$

那麼$a <= 3$,所以$2 <= a <= 3$

$a = 2$的時候 $b = 3, c = 6,$ 或者$b = 4, c = 4$(顯然前者好像比較垃圾,那麼捨去)

$a = 3$的時候 $\frac + \frac <= \frac$,所以此時$b = c = 3;$

所以綜合一下的話對於這道題,有用的就兩組解:

$a = 2, b = 4, c = 4;$

$a = 3, b = 3, c = 3;$

分類討論下即可。

problem b

貪心,但是具體怎麼證明我也不知道。

problem c

既然他都說了任意$3$點不共線了,那麼直接對橫座標排個序順序輸出就行了。

顯然這樣的話三角形之間不會相交

problem d

貪心,對每個位置維護乙個集合,存著當前能放的數,然後取個最小值就行了。

具體操作set就行。

problem e

problem f

problem g

problem h

假設每個元素管轄的區間是對應笛卡爾樹中這個元素為根的子樹大小。

答案是每個位置管轄的區間的長度的乘積的倒數 $* n / 2$

那麼單調棧就行了。

problem i

problem j

(cdx強無敵的)

很噁心的遞推題,各種細節討論。

首先求出$r[0/1][i]$表示當前位置是否亮燈,每個點往右不一定回來,

這段過程中把這個點本身以及右邊的燈關掉(不管最後我在哪反正關掉就行)至少需要多少步。

以往右舉例。如果乙個點(包括自己並且)往右都沒燈,那麼值顯然是$0$

如果當前位置沒亮燈,那麼簡單,就相當於往右走一步然後解決右邊那個位置狀態相反時候的問題(狀態相反)

如果當前位置亮著燈,那麼得先解決自己位置的問題。

"1" x   x  x  x  x  x

1  "!x" x  x  x  x  x

"0" !x  x  x  x  x  x

0  "x"  x  x  x  x  x

這樣需要$3$步,並且不影響右邊燈的狀態。

左邊也是差不多類似的情況。

然後求出每個點往右並且回來,這段過程中把右邊的燈全都關掉要多少步,以及回到這個位置的時候,

這個位置的燈的狀態是什麼。

(如果當前位置亮著不用管,這個事情剛剛求的已經做掉了)

那麼還要考慮他右邊那個位置做的時候回來的位置是亮是滅,如果是亮著的還得用$3$步關掉右邊的燈。

滅著的話走$1$步回來就行。

左邊也是類似的情況。

最後兩個行走方式取個較小值就行了。

這題很卡記憶體……

problem k

2018多校聯合訓練2

打的慘不忍睹,就過了3題 1004 水題,直接輸出yes就過了,solved by lyy include using namespace std define ll long long int n int main return 0 1010 逆序對 min x,y 隊友一開始wa了4發,給了他模...

2018多校聯合訓練4

過了6題,第一次進入前100名 1012 直接從1走到n solved by wyq include includeint a 100005 int reabs int x int main return 0 1004 和出題人心有靈犀2333 solved by lyy include using...

2018 多校聯合訓練 7

problem a 比賽的時候沒主要搞這個題 因為不怎麼會 其實就是類似做dij的乙個過程,記錄3個值 當前點編號,到當前點的代價,當前點的那條邊的顏色。然後遍歷一遍就可以了。problem b 本來比賽的時候想到不同的字母之間的差值肯定不能作為迴圈節。然後我就上了fft,因為做過差不多的題。但是w...