本文主要用于回顾知识
一、数字的二进制表示
- 正数:原码。原码的表示比较简单,见下图。
- 负数:先将数字的二进制各位除符号位之外翻转(反码),再加一(补码)。例如:x=(0...1111),-x=(1...0001).
二、文件的输入与输出
-
freopen("in.in","r",stdin); //输入重定向,输入数据将从in.in文件中读取 freopen("out.out","w",stdout); //输出重定向,输出数据将保存out.out文件中
三、pair<int,int>的排序
- 第一、二关键字分别为first和second.
四、二分(std)
- 方法:int k=lower_bound(a+1,a+n+1,value)-a.
- (获取value的位置)
五、去重
- 方法:n=unique(a+1,a+n+1)-(a+1).
- (n:序列内去重后的数字数量 a:存储序列的数组)
- (使用前需要sort)
六、离散化
- sort并去重后,使用二分直接获取值,即能获取离散化后的值.