NOIP模擬題 連通

2021-07-09 17:43:12 字數 992 閱讀 9675

給定乙個無向圖,請編寫乙個程式實現以下兩種操作:

(1)d x y,從原圖中刪除連線x和y頂點的邊。

(2)q x y,詢問x和y頂點是否連通。

這也是連通問題,考慮用並查集解決。

但是這是刪除的問題耶,怎麼辦?

考慮將刪除變為連通,能不能將所有操作給反過來,從最後乙個操作開始處理。

當然是可以的。

#include 

using

namespace

std;

typedef

long

long lint;

const

int n=161240*4;

const

int mod=100009;

int n,q;

int f[n];

char kind[n]; int cx[n],cy[n];

inline

int read(void)

int m;

int ed[n][2];

struct hash

h[n<<1];

int tt,hd[mod];

int find(int i)

inline

void ins(int u,int v)

inline

int del(int u,int v)

void init(void)

for (int i=1;i<=m;i++)

if (!del(ed[i][0],ed[i][1]))

f[find(ed[i][0])]=find(ed[i][1]);

}int res[n];

void work(void)

int main(void)

多次操作的離線演算法有以下2種:

①結合各種定序和儲存方法,在遍歷其他的時候順便求解。

②得到最後一次的答案,反向推回來。

Noip模擬題 山峰

description在n m的棋盤上不重複的填1到n m 如果乙個數字比周圍的八個數字大,那麼他就是乙個山峰。現在告訴你所有山峰的位置,問你填數的方案數mod 12345678 input 輸入第一行兩個數字 n m意義如題目描述。接下來n 行,每行 m個字元,表示非山峰,x 表示山峰。1 n 4...

NOIP模擬題 訂餐

題目描述 這個週末,joe 一如既往的拿出了外賣的點餐單。選單上從上到下列著 n 個菜,每個菜 joe 會列出乙個美味值。joe 這次希望從選單上連續地點 k 個菜,並且美 味值之和最大。但在計算美味值之和時,joe 有自己的一套計算方法 由於他會按照順序享受這 k 個菜,並且越吃越後面的菜他就越享...

NOIP模擬題 柵欄

題目大意 給定乙個 n times m 的網格圖,每次會選擇一塊矩形沿著網格線鋪上柵欄,或者拆除之前鋪的柵欄,或者詢問兩個格仔能否不經過柵欄直接到達。保證柵欄沒有重疊或交叉,刪去的柵欄刪除前一定存在。題解考慮兩個格仔能互相到達,當且僅當包含它們的柵欄完全相同。考慮對每乙個柵欄隨機乙個權值,維護覆蓋每...