随笔分类 -  cpp学习

摘要:1. 朴素版Prim算法 跟朴素dijkstra有点像,但是每次更新的是每个点到已收录的点的集合的距离,而不是到起点的距离。 先迭代n次,每次找到距离集合距离最小的点,将其收录、更新res,然后用其更新其余点到集合的距离 代码如下: #include <iostream> #include <cst 阅读全文
posted @ 2022-05-21 11:33 乐池 阅读(33) 评论(0) 推荐(0)
摘要:1.栈优化 AcWing 1883. 删减 - AcWing 2.并查集 4420. 连通分量 - AcWing题库 1977. 信息中继 - AcWing题库 3.镜子问题 找到镜子的摆法,模拟是否能到达指定点 1986. 镜子 - AcWing题库 模拟路线是否能到达镜子方阵之外1929. 镜子 阅读全文
posted @ 2022-04-26 11:11 乐池 阅读(23) 评论(0) 推荐(0)
摘要:1.朴素Dijkstra算法 稠密图用邻接矩阵,稀疏图用邻接表存 1≤m≤10^5,所以显然这是个稠密图,由于图中可能存在重边和自环,于是我们用g[N][N]存储每条边的距离时,先要将其初始化为无穷,然后读取时比较一下其与原数组中的值的大小,取最小值存储。Dijkstra方法中,对于每个数都循环一次 阅读全文
posted @ 2022-03-05 17:56 乐池 阅读(56) 评论(0) 推荐(0)
摘要:1.dfs n皇后问题 #include <iostream> using namespace std; const int N = 20; int n; char g[N][N]; int col[N] , dg[N] , udg[N];//列,正对角线,斜对角线 void dfs(int u){ 阅读全文
posted @ 2021-12-08 08:33 乐池 阅读(50) 评论(0) 推荐(0)
摘要:#include <iostream> #include <cstring> using namespace std; const int N = 100003; int h[N] , e[N] , ne[N] , idx;//h是数组头,e是存的插的链表的值,ne是其下一个的idx void in 阅读全文
posted @ 2021-12-04 11:17 乐池 阅读(41) 评论(0) 推荐(0)
摘要:1.Trie树 , 高速地存储和查找字符串集合的数据结构 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 1e5+10; int son[N][26] , c 阅读全文
posted @ 2021-11-21 17:12 乐池 阅读(40) 评论(0) 推荐(0)
摘要:1.https://www.acwing.com/problem/content/431/ 主要是重载小于号和自己写比较函数两种方法,但是之前不会 现在会了就好 ####重载小于号 1 #include <iostream> 2 #include <algorithm> 3 #include <cs 阅读全文
posted @ 2021-11-20 22:43 乐池 阅读(68) 评论(0) 推荐(0)
摘要:1.链表 1)单链表:邻接表 数组实现单链表: #include <iostream> #include <cstring> #include <algorithm> #include <vector> using namespace std; const int N = 100010; //e[N 阅读全文
posted @ 2021-11-17 21:12 乐池 阅读(42) 评论(0) 推荐(0)
摘要:1.双指针 2.位运算 3.离散化 1)去除重复元素 vector<int>all; sort(all.begin() , all.end());//排序 all.erase(unique(all.begin() , all.end()) , all.end());//删除末尾的重复元素 2)代码 阅读全文
posted @ 2021-11-17 00:16 乐池 阅读(39) 评论(0) 推荐(0)
摘要:1.快速排序:基本思想是分治,时间复杂度nlog(n) 1)确定分界点 2)调整区间 3)递归处理左右两段 #include <iostream> #include <cstdio> using namespace std; const int N = 100010; int a[N]; void 阅读全文
posted @ 2021-11-13 12:00 乐池 阅读(33) 评论(0) 推荐(0)
摘要:1.位运算 & 与 AND | 或 OR ~ 非 NOT ^ 异或 XOR >> 右移 << 左移 求x的第k位数字 x >> k & 1 , 从后往前数,最末一位是0 lowbit(x) = x & -x,-x是(~x+1) ; 返回x的最后一位1 , 即110110,则返回10 ; 101000 阅读全文
posted @ 2021-11-11 19:36 乐池 阅读(75) 评论(0) 推荐(0)
摘要:1.vector 头文件#include <vector> 常见的方法有vector.clear() ; vector.size() ; vector.empty(); 遍历输出vector: #include <iostream> #include <vector> using namespace 阅读全文
posted @ 2021-11-10 18:20 乐池 阅读(71) 评论(0) 推荐(0)
摘要:1.类的定义 在类的大括号后面要加分号。 private:加私有的变量,方法等 public:加公开的变量方法等 类的调用:直接写类的名字就行 2.结构体和类 在类中没有声明是private还是public则默认为private,class count 在结构体中默认为pubic,struct co 阅读全文
posted @ 2021-11-08 23:10 乐池 阅读(135) 评论(0) 推荐(0)
摘要:1.跳台阶 一个楼梯共有 nn 级台阶,每次可以走一级或者两级,问从第 00 级台阶走到第 nn 级台阶一共有多少种方案。 输入格式 共一行,包含一个整数 nn。 输出格式 共一行,包含一个整数,表示方案数。 数据范围 1≤n≤15 输入样例: 5 输出样例: 8 用递归写,代码: #include 阅读全文
posted @ 2021-11-08 22:22 乐池 阅读(48) 评论(0) 推荐(0)
摘要:1.静态变量,指某个变量只会创建一次,static 调用5次count方法,而n只会被定义一次0,所以输出的n并不会一直是1 2.函数调用赋值 此时a和b的值都不会变化,但是在被引用的函数添加上取地址符号就不一样了 3.数组参数调用 一维数组能省略数组的大小,多维数组只能省第一个 代码: 给定一个数 阅读全文
posted @ 2021-11-06 19:31 乐池 阅读(45) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2021-11-06 14:34 乐池 阅读(55) 评论(0) 推荐(0)
摘要:题真的不会做 1.str.back()字符串的最后一位,比如"abc"的最后一位是c 2.str.pop_back(),删除最后一位。 3,swap(a,b)交换a和b。 4.用scanf读取字符串 , 推荐用%s读 , 比如读单个字母 char a[2]; scanf("%s" , a); 不需要 阅读全文
posted @ 2021-11-03 20:12 乐池 阅读(37) 评论(0) 推荐(0)
摘要:1.定义和初始化 2.string上的操作,str.c_str()方法 判断字符串是否为空,str.empty() 返回字符串长度,str.size()。 比较大小还有复制直接用比较符号,可以用+将字符串合并 遍历字符串 使用auto,当不确定或者写类别太麻烦 3.常用方法 string.pop_b 阅读全文
posted @ 2021-11-03 08:54 乐池 阅读(38) 评论(0) 推荐(0)
摘要:头文件#include <cstring> 1.ASCII码对照表 int 48表示0,65表示A,97表示a 输入一行字符,统计数字和字母各出现了多少次 2.字符串读入 字符使用单引号引起来的,字符串是用双引号。 字符串就是字符数组加上\0 可以使用字符串来初始化字符数组,但是因为要加\0,所以字 阅读全文
posted @ 2021-11-02 12:51 乐池 阅读(269) 评论(0) 推荐(0)
摘要:1.定义数组的方式 如果写int a[n];而不赋值的话,数组的值是随机的 但是把它放到函数外面存储到堆空间,为全局变量而不是局部变量,会全是0 想要定义一个数组但是不确定长度,可以定义的时候长度写多一点,比如int a[100] = {1,2,3};int a[10] = {1};指前几个数是你输 阅读全文
posted @ 2021-10-31 21:43 乐池 阅读(41) 评论(0) 推荐(0)