來自intlsy s省選debug方法

2022-05-16 12:05:32 字數 1140 閱讀 4934

唯一的要求: 自己能看懂

下面會講

變數名與關鍵字

型別

#define b cout << "breakpoint" << endl;

#define o(x) cout << #x << " " << x << endl;

#define o_(x) cout << #x << " " << x << " ";

#define msz(x) cout << "sizeof " << #x << " " << sizeof(x)/1024/1024 << " mb" << endl;

_tp<_tyn t>void print( t a , int s , int t , char sp = ' ' , char ed = '\n' )

_tp<_tyn t>void print( t a , int s = 0 , int t = -1 , char sp = ' ' , char ed = '\n' )

實際應用:

#include using namespace std;

int popcount( int x )

// where is the return?

}int main()

初級用法:
#define b cout << "breakpoint" << endl;

高階:

長得像函式一樣...

#define o(x) cout << #x << " " << x << endl;

#x: 輸出x的變數名

小實驗:

#define name_of_var(x) cout << #x << endl;

int mrclr_akioi = 2333;

name_of_var(mrclr_akioi);

#ifdef intoj_saigao

cout << "intoj_saigao" << endl;

#endif

不會

OI省選知識

1.陣列 y 2.鍊錶,雙向鍊錶 y 3.佇列,單調佇列,雙端佇列 4.棧,單調棧1.堆 2.並查集與帶權並查集 3.hash 表 自然溢位 雙hash1.樹狀陣列 2.線段樹,線段樹合併 3.平衡樹 treap 隨機平衡二叉樹 y splay 伸展樹 scapegoat tree 替罪羊樹 4.塊...

省選演算法匯集

陣列 鍊錶,雙向鍊錶 佇列,單調佇列,雙端佇列 棧,單調棧 堆並查集與帶權並查集 hash 表 自然溢位 雙hash 樹狀陣列 線段樹,線段樹合併 平衡樹treap 隨機平衡二叉樹 splay 伸展樹 scapegoat tree 替罪羊樹 塊狀陣列,塊狀鍊錶 5.樹套樹 線段樹套線段樹 線段樹套平...

省選模擬 19 09 11

ps.博主趁資訊課摸魚考的暴零模擬 看門人憑感覺就知道是長鏈剖分,將路徑查分一下,dis u di sv 2 dis lc adis u dis v 2 dis disu disv 2 disl ca 維護fu,if fu,i 表示u的子樹,深度為 i 的點的 dis disdi s最大值 考慮如何...