自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构(并查集)

并查集并查集是一种怎么样的数据结构呢?1.处理集合合并2.对集合元素进行查找同时并查集对集合元素进行查找的时候,会把路径上所有的点全部都指向父节点,这样就可以把整个查询工作近似的优化成o(1),这就是大家常说的路径压缩其实说了那么多已经把并查集的最最基础的思路讲出来了,我们找一题试试(题目来源acwing)首先啊,并查集的时候要提前进行初始化int q[N]; for(int i=0;i<n;i++)q[i]=i;那么接下来呢?首先我们考虑...

2021-07-14 15:10:38 86 1

原创 数据结构(kmp字符串匹配,trie存储字符串)

你还在使用for for的循环嵌套进行匹配嘛你还在为因为一次匹配失误而从头再来而感到郁闷嘛你还在o(nm)而烦恼嘛这就都不是问题,简单的kmp字符串匹配买不了吃亏买不了上当,马上让你一跃成为人生赢家,成为匹配王者(各种意义)kmp字符串匹配但当我们在进行字符串匹配的时候,让我们先想想朴素是怎么做的string A,B;int flag=0;for(int i=0;i<A.size();i++){ int memory=i; for(int j=0;j&.

2021-07-01 11:44:33 78

原创 数据结构(栈,队列)

数据结构的思想还是很重要的,但相比较使用STL的栈和队列,自己写一个可能会更好,不但可以理清自己的思路,还可以让运行效率更高(笑。但是如果是自己去些struct的话,以c++为例,每次new一个节点会非常的慢(指写算法题的时候),所以这个时候我们可以用数组对其进行模拟栈首先什么是栈,笼统地说,就是一种数据结构,一种先进后出的数据结构:具体长什么样子呢?可以把他看成一个罐头,你把东西放进去了,那么先放进的东西就会被压住,那么你就要先把刚才后放进来的东西拿出来,才能拿到下面的都东西

2021-06-27 16:13:52 67

原创 数据结构(单链表,双链表)

单链表——数组模拟单链表如果是用结构体去实现的话,需要一个指针域,和一个值域(最简单的单链表)一个指向下一个值的位置所在,一个储存当前的值受此启发,我们也可以用数组对其进行模拟,用关联起来——我们可能回想这么做是否还有存在的必要,因为像c++的STL里面都是已经写好的,或者struct写不是更好?emmm确实如此,但是拿c++举例,c++的new其实是很慢的,所以用数组会更快(手写STL也是同理)那么根据刚才的分析我们已经知道了我们需要什么了:1.值域:e【n】。2.指针域:ne

2021-06-26 16:04:02 119

原创 DP问题入门到精通5(树形dp,记忆化)

学到这,树形dp,和记忆化这些其实都很简单,且是很常见的思路。那么话不多说直接开始dp之旅吧。没有上司的舞会那么

2021-06-14 20:25:40 111

原创 DP问题从入门到精通4(状态压缩dp,蒙德里安,最短Hamilton路径)

dp问题学到到这里理解难度可能会突然上升一个档次,但是不用担心,因为这类问题也就顶多理解起来难一点而且状态压缩问题做起来其实非常有趣,做完挺有

2021-06-14 18:11:31 182

原创 DP问题从入门到精通3(区间DP,计数DP)

有时候dp问题真的不能光看,看是真的看不出答案的,要自己动手去写去研究才会有结果区间DP

2021-06-12 22:27:23 187 1

原创 DP问题从入门到精通2.2(线性DP,最短编辑距离)

dp问题的难点到底是什么呢,我认为是如何写出dp的方程,还有如何去对dp方程初始化,相信很多人都有这样的做题经历,dp方程是对的就是少了个dp[0]=1,或者dp[0][i]=1(i取值从0到n)。

2021-06-11 21:58:55 225 1

原创 DP从入门到精通2.1(线性DP,上升子序列,公共子序列)

emmm,dp问题真的很有魔力,你想得到状态表示方程,那么你马上就能起飞,如果你想不到,没思路那么......建议吃顿好的再来写可能会快点.....其实dp更多的是一种经验,你见得多,写的自然就快

2021-06-11 11:59:20 410 3

原创 DP问题从入门到精通1(背包问题)

最近写了很多dp的题目,但本人太菜,连基本的状态方程都转换不出来,所以特意去学习了一下,怎么去做dp的题目,一下是一些见解。背包问题

2021-06-09 12:27:34 985 3

原创 图论(迪杰斯特拉,Floyd,bellman,spfa)

对图论和搜索的学习感想Dijkstra迪杰斯特拉求最短路的暴力的思路是三重循环去更新所有点到起点的最短距离。首先先初始化让第一个点到自己的距离是0即:dist[1]=0;然后在省下的点中找到距离起点最近的点(该点必须是没有被确定的点),然后再用该点到起点的距离更新所有点到起点的最短距离,每次更新一个最短,最短更新全部,所以第一重循环循环n次,从而达到寻找最短路的效果。for(int i=0;i<n;i++) { //找出距离原点最短的点 .

2021-06-07 20:54:35 2230 5

原创 对于拓扑排序的一些见解

今天想和大家分享一下在力扣刷题的时候总结的一些小心得。拓扑排序首先拓扑排序是一种对于有向无环图的算法,同时整个图是线性的。维护入度的拓扑排序在力扣的刷题之旅中,遇到了《课程表》。这个题是告诉你判断一个图是否为有向无环图,像这种判断是否是有向无环图的题目必定是让你判断图中是否存在环,而出现环的情况,一定是某个子节点指向了父节点(或祖父结点等等)从而形成环,所以对于这类题目我们需要用一个数组去记录每个数的父结点的数量(也就是入度)。因为当有个子节点指向父节点的时候,这个数组所..

2021-05-12 20:30:21 173 1

空空如也

空空如也

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

TA关注的人

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