#include <iostream>
using namespace std;
int main()
{
cout << "
Hello World!
" << endl;
return 0;
}
1. iostream的意思是输入输出流。直接点说就是in(输入) out(输出) stream(流)。取in、out的首字母与stream合成。
11.29
在记录所有的可行遍历路径的时候,具体的一部分实现。怎么访问stack底部元素 vector 的resize函数用法
表示2的32次方这个数字
参考c++文档,栈只有top可以访问。 个人理解:起到去掉最后一个元素的作用v.resize( v.size()-1 ),这也揭示了vector实际上能够完全
替代栈和队列结构,因为vector的访问的特点,下标访问,实际上这也是栈和队列封装之后的特点,只给出了特定的接口。
1左移32位 ll t=1L<<32;
11.30
默认无参数的构造函数,
node(): step(0),head(0) {}
12.1
反向迭代器, 集合 多重集合问题
bitset使用
reverse_iterator it rbegin(最后一个元素的位置) rend(第一个元素的前一个地址) 还是 it++
multiset 即可 头文件也是set
参考:
什么是bitset
bitset 是STL库中的二进制容器,根据C++ reference 的说法,bitset可以看作bool数组,但优化了空间复杂度和时间复杂度,并且可以像整形一样按位与或。
使用方法
申明
bitset的申明要指明长度
1
bitset<length> bi
这样就申明了一个长度为length的名叫bi的bitset
赋值
bitset重载了[]运算符,故可以像bool数组那样赋值
bi[2] = 1;
这样就能将第二位赋值为1
常用函数
b1 = b2 & b3;//按位与
b1 = b2 | b3;//按位或
b1 = b2 ^ b3;//按位异或
b1 = ~b2;//按位补
b1 = b2 << 3;//移位
int one = b1.count();//统计1的个数
优化作用
常常碰到处理的数组只有0和1的变化,此时就可以使用bitset优化。比如求两个集合的交集可以使用按位与运算,求并集可以使用按位或运算