long
double %lf
unsigned
long
long %llu
unsigned
int %u
char s[max];
scanf(" %[^\n]", s); //遇到回車結束(讀一整行)
scanf(" %[^ ]", s); //遇到空格結束
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
sscanf(s, "%d", &a);
namespace fastio
}return *p1++;
}inline
bool blank(char ch)
inline
void read(int &x)
inline
void read(char &x)
inline
int readstr(char *x)
x[i] = '\0';
return i;
}}using
namespace fastio;
srand(time(0));
rand();0-32767
vector
a(n);
random_shuffle(a.begin(), a.end());
//更隨機
//sort
sort(a, a + n);
sort(a, a + n, greater());
sort(a, a + n, cmp);
sort(vec.begin(), vec.end(), [=](pii a, pii b) -> bool ); //匿名函式
//unique
sort
(a.begin(), a.end());
a.erase
(unique(a.begin(), a.end()), a.end());
//random_suffle
random_shuffle
(a.begin(), a.end());
string str = "1234";
while (next_permutation(str.begin(), str.end()))
cout << str
<< endl;
int a = ;
sort(a, a + 3);
do
while (next_permutation(a, a + 3));
可以直接 < == > = sort
string s;
cin >> s; // s = 「12345」
s += 「12345」; // s = 「1234512345」
s.erase(5, 3); // s = 「1234545」
int a = s.find(「45」); // a = 3 kmp
int b = s.find(「6」); // b = -1
int c = s.length(); // c = 7 size()
string t = s.substr(4, 2); // t = 「54」
priority_queue pq;
priority_queue, greater >pq2;//小根堆
struct cmp1 };
priority_queue, cmp1>pq3;/
find logn
insert logn
erase logn
size
empty
s.erase(2);//把2全刪
s.erase(s.find(2));//刪1個2
lower_bound(s.begin(), s.end(), 5);
s.lower_bound(5);
set
s;for (set
::iterator i = v.begin(); i != v.end(); i++) cout
<< *i << endl;
for(auto i:s) cout
<< i << endl; //auto的自動型別推斷發生在編譯期,所以使用auto並不會造成程式執行時效率的降低
//auto
vector
int, int>> v;
vector
a = ;
for (int &i : a)
for (int i : )
//container improvements
vector
string, int>> vp;
string s;int i;
while (cin >> s >> i) );
vp.emplace_back(s, i);
}//initializer list
list
string,string>> languages = , };
map,vector
> years = , },, }, , }};
//max & min
int x = max();
//unordered containers o(1)
unordered_set
//乙個無序set,使用hash作為hash函式,使用cmp進行比較
unordered_multiset
//乙個無序multiset,使用hash作為hash函式,使用cmp進行比較
unordered_map
//乙個無序map,使用hash作為hash函式,使用cmp進行比較
unordered_multimap
//乙個無序multimap,使用hash作為hash函式,使用cmp進行比較
ACM知識點總結
1 列舉 2 模擬 3 構造 4 位運算的應用 5 查詢 5.1 二分查詢 5.2 分塊查詢 5.3 雜湊查詢hash 5.3.1 線性探測法 5.3.2 字串與雜湊 6 搜尋 6.1 深度優先搜尋dfs 6.1.1 剪枝 6.1.2 人工棧dfs 6.2 寬度優先搜尋bfs 6.3 啟發式搜尋 7...
知識拓展3
一 功能最強大文字編輯器 vim 命令列模式 n yy 複製第n行 p 貼上 n dd 刪除第n行 u 恢復 插入模式 i a 底行模式 shift w 儲存q 退出 wq!強制儲存退出 如何配置vim?vim etc vim vimrc 常用配置 開啟語法高亮 syntax on 顯示行號 set...
知識拓展4
1 gdb命令 1 查詢程式源 1 search forward 用來從當前行向前查詢第乙個匹配的字串 2 reverse search 用來從當前行向前查詢第乙個匹配的字串 3 list 行號 顯示指定行前後的 4 list 函式名 顯示函式 5 list 從當前行往後顯示 6 list 從當前行...