11 2021 档案
2.2数据结构(2)
摘要:1.Trie树 , 高速地存储和查找字符串集合的数据结构 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 1e5+10; int son[N][26] , c
排序题
摘要:1.https://www.acwing.com/problem/content/431/ 主要是重载小于号和自己写比较函数两种方法,但是之前不会 现在会了就好 ####重载小于号 1 #include <iostream> 2 #include <algorithm> 3 #include <cs
2.2数据结构
摘要:1.链表 1)单链表:邻接表 数组实现单链表: #include <iostream> #include <cstring> #include <algorithm> #include <vector> using namespace std; const int N = 100010; //e[N
2.1基础算法
摘要:1.双指针 2.位运算 3.离散化 1)去除重复元素 vector<int>all; sort(all.begin() , all.end());//排序 all.erase(unique(all.begin() , all.end()) , all.end());//删除末尾的重复元素 2)代码
2.1基础算法(排序)
摘要:1.快速排序:基本思想是分治,时间复杂度nlog(n) 1)确定分界点 2)调整区间 3)递归处理左右两段 #include <iostream> #include <cstdio> using namespace std; const int N = 100010; int a[N]; void
1.9位运算与常用库函数
摘要:1.位运算 & 与 AND | 或 OR ~ 非 NOT ^ 异或 XOR >> 右移 << 左移 求x的第k位数字 x >> k & 1 , 从后往前数,最末一位是0 lowbit(x) = x & -x,-x是(~x+1) ; 返回x的最后一位1 , 即110110,则返回10 ; 101000
1.8 STL、位运算、常用库函数
摘要:1.vector 头文件#include <vector> 常见的方法有vector.clear() ; vector.size() ; vector.empty(); 遍历输出vector: #include <iostream> #include <vector> using namespace
1.7类、结构体、指针与引用
摘要:1.类的定义 在类的大括号后面要加分号。 private:加私有的变量,方法等 public:加公开的变量方法等 类的调用:直接写类的名字就行 2.结构体和类 在类中没有声明是private还是public则默认为private,class count 在结构体中默认为pubic,struct co
1.6函数习题
摘要:1.跳台阶 一个楼梯共有 nn 级台阶,每次可以走一级或者两级,问从第 00 级台阶走到第 nn 级台阶一共有多少种方案。 输入格式 共一行,包含一个整数 nn。 输出格式 共一行,包含一个整数,表示方案数。 数据范围 1≤n≤15 输入样例: 5 输出样例: 8 用递归写,代码: #include
1.6函数
摘要:1.静态变量,指某个变量只会创建一次,static 调用5次count方法,而n只会被定义一次0,所以输出的n并不会一直是1 2.函数调用赋值 此时a和b的值都不会变化,但是在被引用的函数添加上取地址符号就不一样了 3.数组参数调用 一维数组能省略数组的大小,多维数组只能省第一个 代码: 给定一个数
算法2.5.1习题
摘要:2.1水仙花数 输出100~999中的所有水仙花数。若3位数ABC满足ABC = A^3+B^3+C^3,则称其为水仙花数。 #include <iostream> using namespace std; int main(){ for(int j = 1;j<=9;j++){ for(int k
1.4字符串习题
摘要:题真的不会做 1.str.back()字符串的最后一位,比如"abc"的最后一位是c 2.str.pop_back(),删除最后一位。 3,swap(a,b)交换a和b。 4.用scanf读取字符串 , 推荐用%s读 , 比如读单个字母 char a[2]; scanf("%s" , a); 不需要
1.4字符串string
摘要:1.定义和初始化 2.string上的操作,str.c_str()方法 判断字符串是否为空,str.empty() 返回字符串长度,str.size()。 比较大小还有复制直接用比较符号,可以用+将字符串合并 遍历字符串 使用auto,当不确定或者写类别太麻烦 3.常用方法 string.pop_b
1.4字符串char
摘要:头文件#include <cstring> 1.ASCII码对照表 int 48表示0,65表示A,97表示a 输入一行字符,统计数字和字母各出现了多少次 2.字符串读入 字符使用单引号引起来的,字符串是用双引号。 字符串就是字符数组加上\0 可以使用字符串来初始化字符数组,但是因为要加\0,所以字