記錄NOIP刷題時(shí)碰到的巨坑 或者 諸如A+B Problem各種奇淫怪技
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 暴力全過 永不爆零 //
////////////////////////////////////////////////////////////////////
- 重名:
max
- 極端定義域
str.size()==0
i,j重用
sort
#include <algorithm>//頭文件
//do something...
sort(a,a+n);//sort a[0]~a[n-1]
- 記住cmp是return是否靠前
bool cmp(node a, node b){
return a.e<b.e;
}
//
sort(a,a+n,cmp);
- 打表
存好質(zhì)數(shù)表千扶,打表出奇跡
例見洛谷P1217
行列數(shù)與從零開始的數(shù)組
map[x][y]
轉(zhuǎn)換!i辖獭庭呜!頻繁使用的變量用
register
修飾(寄存CPU)
//Example:
for(register int i=1;i<=s/2;i++)
//do something
- 什么绍撞,你還在用
swap(a,b);
眨八?堂氯!
if(a!=b){//!!!
a^=b;
b^=a;
a^=b;
}
//=swap(a,b);
-
C++ STL
真是太好用了C锏!!咽白!
- 求全排列:
#include <algorithm>//頭文件
a[]={1,2,3}
//求下一個(gè)全排列
next_permutation(a, a+3);
//
//求上一個(gè)全排列
prev_permutation(a, a+3);
- 關(guān)于指針
注意:數(shù)組名a
是這個(gè)數(shù)組的首指針但不是指向這個(gè)數(shù)組的首個(gè)元素a[0]
啤握,但是迭代器又不一樣,a.begin()
指向首元素晶框,但是a.end()-1
才指向尾元素
a[]={1,2,3};
a+1//=a[0]
a+3//=a[2]
register set<int>::iterator iter=m.begin();
*iter//=a[0]
iter=m.end()-1;
*iter//=a[2]
char數(shù)組(包括變量)要初始化E盘А!授段!
否則初值為0(打印不出來的)蹲蒲,不是所幻想的' '
P.S. 在main()
外定義的int
初始化值為0,bool
初始化值為false
(0)實(shí)際問題注意有可能需要向上取整
例如用二分答案做洛谷P1843時(shí)侵贵,濕度除以b時(shí)應(yīng)該采用進(jìn)一法(向上取整)