1.字符串中的大小写转换
s[i] ^= 32;//位运算,速度快
2.排名的实现(有并列的情况),一般将排名的对象存放在容器中。
struct peo{
int score;
};
vector<peo> v;
int main(){
....省略部分
int rank = 0, pre = -1;
for(int i=0; i<v.size(); i++){
if (pre != v[i].score) rank = i + 1;
pre = v[i].score;
printf("%d ", rank);
}
return 0;
}
3.不想写C/C++头文件,直接写下边一个就可以
#include <bits/stdc++.h>
4.使cin,cout与printf,scanf效率一致。在默认的情况下cin绑定的是cout,每次执行 << 操作符的时候都要调用flush,这样会增加IO负担。可以通过tie(0)(0表示NULL)来解除cin与cout的绑定,进一步加快执行效率。
ios::sync_with_stdio(false);
cin.tie(0);
5.时间的处理, PAT表示时间的一般形式为"hh:mm:ss",因此可以统一转换为秒方便计算。
hh:mm:ss time(秒) = hh*3600 + mm*60 + ss