題解 P2342 疊積木

2021-10-06 04:51:43 字數 655 閱讀 4684

約翰和貝西在疊積木。共有30000塊積木,編號為1到30000。一開始,這些積木放在地上,自然地分成n堆。貝西接受約翰的指示,把一些積木疊在另一些積木的上面。一旦兩塊積木相疊, 彼此就再也不會分開了,所以最後疊在一起的積木會越來越高。約翰讓貝西依次執行p條操作,操作分為兩種:

請編寫乙個程式,幫助貝西回答每條統計問題。

這題就是並查集的乙個板子,這裡大概不用講了,**放一下

#include

using

namespace std;

typedef

long

long ll;

template

<

typename t>

inline

void

read

(t &ff)

const

int n=

1e5+10;

int q,fa[n]

,dep[n]

,sz[n]

,x,y;

char flag;

intfind

(int x)

intmain()

else

}return0;

}

題解 P2058 海港

我們注意到資料範圍,發現二維陣列並不可取,但是我們又注意到 k i 3 105 ki 3 10 5,所以採取一種新的思想 將所有人都讀在乙個一維陣列裡面 使用乙個佇列 q q 來儲存第 i role presentation i i艘船上人數的範圍,即 q q 儲存的是兩個數 l r role pr...

題解 P4995 跳跳!

說實話這個題我一開始想了好久dfs超時得了30可能因為我太弱了 吃得苦中苦方為人上人現在終於a了當然體會更多 1 首先 這是個真的真的貪心題 貪心思路就是每次都從未跳過得最高的 或最低的 跳到最低處 最高處 這樣差值才最大 2 知道貪心思路了就要寫好 qaq 寫法有很多種,像我這種蒟蒻就只會寫這一種...

題解 P1434 滑雪

題目鏈結 此題運用功能強大的 暴力搜尋 記憶化搜尋才是重點!然而,這是一道經典的dp問題 如果我們用 dis i j 來表示座標為 i,j 時的高度 cnt i j 是我們的記憶化陣列 在合法的前提下,就有狀態轉移方程 dis i j max dis i 1 j dis i j 1 dis i 1 ...