刷題 筆試技巧之 C 常用模板

2021-09-23 07:49:49 字數 1650 閱讀 7677

每次閱讀大神的**的時候,除了膜拜,還發現了大神都喜歡用自己的模板。

比如提前定義好變數、巨集定義替換迴圈語句等。

#include //萬能標頭檔案,僅限筆試/刷題用,正常學習不建議用(例如vs都不能使用)

using namespace std;

//shortcut

#define pb(x) push_back(x)

#define pf(x) push_front(x)

#define eb(x) emplace_back(x)

#define ef(x) emplace_front(x)

#define sz(v) ((int)(v).size())

#define file_r(x) freopen(x, "r", stdin)

#define file_w(x) freopen(x, "w", stdout)

#define lowbit(x) ((x) & (-x))

#define rep(i, n) for (int i = 0; i < (n); i++)

#define repd(i, n) for (int i = (n - 1); i >= 0; i--)

#define in1(n) scanf("%d", &n)

#define in2(n, m) scanf("%d %d", &n, &m)

#define in3(x, y, z) scanf("%d %d %d", &x, &y, &z)

#define sort_asc(c) sort(c.begin(), c.end())

#define iter(it, v) for (auto it = v.begin(); it != v.end(); ++ it)

//type defination

typedef long long int;

//global associative variable

char charmap[256];

unordered_mapumii;

unordered_mapumis;

unordered_mapumsi;

unordered_setusi;

unordered_setuss;

//global sequence variable

vectorvi;

vectorvs;

listli;

listls;

//global ordinary variable

int m, n;

size_t i, j, k;

//println

template void println(inputiterator first, inputiterator last)

template void println(container &c)

//input

template void read_n(container &c, int n)

template void read(container &c)

int main(void)

Leetcode Python 刷題技巧之滑動視窗

總結 示例 pandas 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立的。如下 示例 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns impo...

leetcode刷題技巧之雙指標技巧

雙指標技巧的情形一 使用兩個指標來完成對陣列的迭代,乙個從始端開始,乙個從終端開始 例如 反轉陣列 1,2,3,4,5,6,7 void reverse int v,int n 總結 在需要使用兩端向中間迭代陣列的時候或是說乙個指標從始端開始,而另乙個指標從末端開始,我們可以使用這種雙指標技巧。注意...

c 刷題(37 100)筆試題2

4道題2小時,又是一道,不過這次的比較難,但第二道不應該的,又是審題不仔細導致沒過 題目1 給定乙個字串,請你將字串重新編碼,將連續的字元替換成 連續出現的個數 字元 比如字串aaaabccdaa會被編碼成4a1b2c1d2a。思路 就簡單的字串處理 include include using na...