1>区间合并!=寻找区间的最少交集
2>cmath中默认的是log以e为底的
想要得到以10或者2为底的:可以采用换底公式;
3>右移右移都是属于整数的范围之间
double mid=(l+r)/2;//对的
int mid=(l+r)>>1;//对的
double mid=(l+r)>>1//错误
4字符串的输入输出
(1)gets()
gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取.
所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
(2)getchar()
getchar()函数时,编译器会依次读取用户键入缓存区的一个字符(注意这里只读取一个字符,如果缓存区有多个字符,那么将会读取上一次被读取字符的下一个字符),如果缓存区没有用户键入的字符,那么编译器会等待用户键入并回车后再执行下一步 (注意键入后的回车键也算一个字符,输出时直接换行)。
可以是空格也可以是回车。
(3)scanf()函数取数据是遇到回车、空格、TAB就会停止
scanf("%c",&c);
scanf("%s,",c);
5 注意快速幂,同类型乘积的时候一定要记得1ll,否则会爆。同时记得取模