自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 2022第11次总结

背包问题

2022-06-20 01:08:43 241

原创 2022第十次总结

线性DP

2022-06-06 00:51:01 161

原创 2022第9次总结

这个周看了一些贪心的题的博客,全是题再加题解,感觉就是想出解决方法比较难,思路难想,但是代码看起来比较容易,(能看懂),有的题结合之前的sort排序,拓扑排序,深搜,广搜,二分,并查集,队列,数组,stl。 贪心算法就是每一步都选择最优解,某个状态以后的过程不会影响以前的状态,所以贪心算法适用的题目是没有后效性的。 排序最常用的是sort排序sort(begin,end,cmp)第三个可以省略。 二分查找 往左查找目标: while (l < r) { int ...

2022-05-30 01:08:45 165

原创 2022第八次总结

接上篇,这篇是对上篇的补充 运用Floyd的题有两个特点:数据短小精悍,Floyd可求出任意两点间的最短路。 例题:p1690贪婪的copy 结合深搜一个一个搜出所有点的路径长度。 Dijkstra算法:就是不断更新距离出发点的最短距离的过程,最核心的操作是松弛操作: 对于有向图: if(dis[v[i]]>dis[u[i]]+w[i]) dis[v[i]]=dis[u[i]]+w[i]; 对于无向图: if(dis[u[i]]>dis[v[i]]+w[i]) dis[.

2022-05-23 01:34:57 217

原创 2022第7次总结

这个周看了一些并查集的题目,新学了求最短路径最小生成树的算法,有两种①Prim算法②Kruskal算法 Kruskal的基本思想是将所有边的权值从小到大排序,然后依次加入生成树,不能生成环,如果生成环就删掉。 参考洛谷P1396P2330 Prim算法的基本思想任取一个顶点加入生成树,取连接顶点的边中权值最小的边加进生成树中。 计算单源最短路径有dijkstra算法,就是不断的更新节点离出发点距离的最小值,通过路径最短的点更新其他的点,并要记录路径里该节点的父节点,权值必须都是正数,bellman-

2022-05-16 01:30:58 177

原创 2022第7次总结

这周主要看了并查集。 并查集编写的过程中的模板有初始化并查集:先把每个结点的父节点设为自己 int fa[MAXN]; void init(int n){ for (int i=1;i<=n;i++) fa[i]=i; } 查询i的祖先: int find(int i) { if(fa[i]==i) return i; else retuen find (fa[i]); } 路径压缩: int find (int i){ if(i==fa[i]) return i.

2022-05-09 00:32:30 121

原创 2022第六次总结

对于BFS求最短路径的问题,一般需要接助队列的数据结构进行搜索,特点是先进先出,通过包含queue这个队列模板头文件,就可以利用c++的队列定义自己的队列,队列的操作有: q.push()入队操作 q.front()取队头元素 q.pop()队头元素出队 q.size()获取队列的元素个数 q.empty()判断队列是否为空,为空返回true,不为空返回false 一般要对已经访问过的地方进行标记,避免重复搜索,搞清楚求解过程中每一步的相邻状态有哪些,每个状态要记录什么信息,标记已访问,避免死循

2022-04-28 01:11:08 491

原创 2022第5次总结

看全排列的题目终于把那个很常用的代码的原理弄懂了。 #include<bits/stdc++.h> using namespace std; int n,pd[100],used[100];//pd是判断是否用过这个数 void print()//输出函数 { int i; for(i=1;i<=n;i++) printf("%5d",used[i]);//保留五位常宽 cout<<endl; } void dfs(int ...

2022-04-18 00:40:03 120

原创 2022第四次总结

DFS可以解决那种必须要从头到尾所有数都进行一遍才能最后得出所有符合的结果(全排列)或者在所有结果中比较出最大最小(可能会用到排序)的问题。 BDF可以解决那种只求历遍层数最短的题,可以降低复杂度,比如: 每一层代表的都是一分钟,输出的是最短时间,也就是输出最短的层数,所以用BDF搜索 题型有:把相邻字符当做一个整体求个数 输出一个图形,(注意:整个矩阵要预先赋值为空格) 将相邻的相同字符看做一个整体,四周都被不同字符包围的个数(广搜) 和无向图结合的题(图也是一种数据结构,有无向图,有向图,.

2022-04-11 01:13:06 262

原创 2022第三次总结

这周看了30多篇文章,关于搜索-折半搜索,思维,数据结构,算法基础-前缀和、倍增, 搜索相当于在迷宫里找可以出去的路线,如果题目分枝情况很多,如果题目的可能出现的情况很多,要求符合条件的情况时,可以用搜索。 折半搜索可以使时间复杂度降低很多,两部分结果最后综合一下就行。 前缀和:分为一维前缀和和二维前缀和,一维前缀和就是一维数组的前N项和,二维前缀和就是以该点和和a0,0点连线为对角线的方形矩阵的所有元素的和 一维前缀和代码为: for(int i=0;i<n;i++) { if..

2022-04-04 01:10:02 485

原创 2022第二次总结

链表的结点由数据域和指针域构成,指针域指向下一个结点的地址。 malloc函数和new运算符为链表结点分配内存空间,free函数和delete运算符用于释放空间,malloc函数和free函数对应,new运算符和delete运算符对应。 树的存储结构 方法1:利用数组的父亲表示法容易找到树根,不容易找到孩子 方法2:利用树形单链表结构的孩子表示法指针只能从父亲指向孩子 方法3:利用树形双链表结构的父亲孩子表示法,指针有两个,一个指向父亲,一个指向孩子 方法4:二叉树形表示法(孩子兄弟表示法)每个

2022-03-28 01:25:39 420

原创 2022第一次总结

栈:像死胡同一样,后进的元素先出 栈顶指针top是一个在栈顶元素上的标记,栈中没有元素,top=-1 size()表示栈内元素个数 empty()栈顶指针为top=-1时,栈就是空的 size()栈内元素个数 top()取栈顶元素 pop()把栈顶指针减一(效果一样) push()在原来的栈顶上面再加一个元素,栈顶指针要随之加一 clear()将栈内所有元素清空,top变成-1 ➠ 队列:就像水龙头,先进先出 队首指针front指向队首元素前的前一个位置,队尾指针rear指向的是队尾元

2022-03-21 01:10:29 238

原创 寒假第四次总结

这个周复习了上个周新学的然后预习了暴力枚举,感觉很不好理解,可能理解不了例题,就硬着头皮往下看了,以后多看几遍应该就可以了,然后感觉晚上脑子比白天动的快,复习之前的也感觉之前不理解的能有点进步可以理解一点了,没白复习。 ...

2022-02-21 01:33:29 93

原创 寒假第三次总结22.2.13

这周看了课本第七八九章 ➠函数返回值类型是void代表这个函数没有返回值,只会执行一些操作 ➠在参数的变量名前面加上一个&符号,代表引用传参,将变量的地址告诉这个函数,这样才能让输入函数直接将读到的数据放入那个位置。 ➠string类型——将字符数组封装起来成为一个整体,传进函数就是从原来的字符串复制了一份新的字符串,所有的改动都在新的字符串上进行,变量名前不需要加& ➠递归:一个函数不仅能调用其他函数还能调用自己 int f(int x){ if(x==1)return 1; retur..

2022-02-13 22:55:41 145

原创 2021寒假第二次总结

定义子程序:自己把运算过程弄明白,然后自己造一个函数,使输入的数直接用自己造的函数算出来。 结构: 返回类型 函数名(参数类型1 参数名1……){ 函数体 return结果; } 数据类型:布尔类型 ➠布尔型(bool):标准C中没有布尔型数据,这是c++中新增的数据类型,占一个字节。它的值为:true,false ➠布尔型数据可以进行逻辑运算 ➠布尔型数据的内部表示:true为1,false为0 bool p p=表达式; 表达式是真的p的值为...

2022-01-30 20:09:22 524

原创 2021寒假第一篇总结

这几天复习了在学校里学的四章,还重温了之 前交作业的总结: 意识到自己即使写了也没有全部记住,就只是抄了下来,而且内容也不甚详细,所以真正要用的时候也没办法轻而易举用上,我发现看了一遍之后很容易忘,运用在了代码里的话巩固效果会比较好。 放假之后我每天早上都起的非常晚,即使晚上睡得很早,第二天还总是快到中午オ起,闹钟都叫不醒,起来之后就很惋惜,浪费了半天的时间,睡觉和玩手机耽误的时间都很多,本来打算假期里做的事很多,但是光这两件就快填满假期了,期末考试周才觉得自己敲代码的水平很低,基础很不好..

2022-01-22 18:40:53 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除