一、i/o:
c++:
getline(cin,s);
<sstream> istringstream is(line); while(is>>s) cout<<s<<endl; (读一行输出单词)
sprintf(s,"%d",i); 数字 -> 字符串
%d:
"%8d": 制定位数8,少补空格。
"%08d": 8位补0
"%-8d": 8位左对齐
d可换为x(16小)/X(16大);
cout<<oct(8)/hex(16)/dec(10)<<number<<endl;
vector里按下标放结构体要指定范围: v.resize(5);
c:
gets();
二、方法:
lower/upper_bound():
1. lower_bound(a,a+n,x)-a;
2.iterator it = upper_bound(v.begin(), v.end(), x);
<functional> greater<int>()/由大到小 less<int>()/由小到大 sort/优先队列等比较的地方用
<bitset> bitset<n>(x): 把x转换为n位的二进制数(补0);
XX.reverse():反转一般容器都有轻易不要用!!
三、o(祝我写的每题都logn):
vector: insert o(n) !!!! 这个坑跳了两次
list: 插入删除,no查找;
vector: 查找,no插入;
map/hash: 查找对数的复杂度;
四、这是常识:
闰年:(4倍 && !100倍) || 400倍
五、爬坑感悟:
1.为什么是输出个数而不是打印所有?
可能不用遍历 --> 找规律啊什么的
2.全局变量突然变得奇奇怪怪:
可能是不小心重新定义了
可能是前面的全局数组越界了