算法区
树状数组
树状数组相较于二叉树删除了一些节点,注意到第一行删除的为偶数节点,而2存储的是1和2下面的节点的合(为其叶子节点),同时我们观察到每一层的节点等同于以其为根节点的叶子节点的合,而求这些节点全体的目标合使用不到的内容就会被删掉,剩下下面的节点共有n个,刚好和最初的数组大小相等。

我们可以观察到每层节点对应的末尾零的数量和层数相关,第n(从0开始)层对应二进制末位n个零。

前置知识lowbit :这代表将非负整数转换为二进制数然后取最低位1及其后面的0组成的数
讯享网讯享网
区间查询ask:进行区间查询,查询某一区间的sum
我们发现sum[7]=t[7]+t[6]+t[4] ,我们进一步发现,6=7-lowbit(7),4=6-lowbit(6),所以我们可以通过不断的-lowbit操作来实现求和

求[L,R]之间的区间合,等同于求[1,R]-[1,L-1]
讯享网
函数区
1.队列
定义:队列属于容器,允许先进先出,像排队一样
2.字符串
返回字符串的长度(字符数)。与 相同,返回字符串的长度。判断字符串是否为空。访问字符串中指定位置的字符。访问字符串中指定位置的字符(带边界检查)。返回从指定位置开始的子字符串。查找子字符串在字符串中的位置。从字符串末尾开始查找子字符串的位置。替换字符串中的部分内容。在字符串末尾添加内容。在指定位置插入内容。删除指定位置的字符或子字符串。清空字符串。返回指向字符数据的指针(C++11 及之后的版本)。比较两个字符串。查找第一个匹配任意字符的位置。查找最后一个匹配任意字符的位置。查找第一个不匹配任意字符的位置。查找最后一个不匹配任意字符的位置。
一些常用的使用(C++)
格式化
cin.get() 从键盘读入一个字符,可以读入逗号之类的
int(a) 强制类型转换
cout输出左侧补0:
cout输出右侧补0:
printf动态调整输出格式
数学计算
1.幂函数 pow(数,指数)
note:若要开方的话,后面要用小数 伽利略大学 java编程基础![]()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/1730.html