随笔分类 -  算法&数据结构 详解

摘要:原题传送门 $1$.定义 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。————百度百科 $2$.核心操作 \((1)\) .初始化 初始化的目的是把每个$i$的父亲都设为自己,为找父亲做准备 for(int i=1;i<=n;++i) fa[i]=i; \((2)\) .找祖 阅读全文
posted @ 2020-10-17 20:15 _pwl 阅读(427) 评论(0) 推荐(1)
摘要:\({\tt P1886}\) 原题传送门 \({\tt P2032}\) 原题传送门 \({\tt Solution}\) 这两道都是单调队列非常经典且模板的题目。 借此来浅析单调队列(Monotone queue) 概念 单调队列是一种特殊的队列,它在满足队列所有性质的同时,也满足以下特点 : 阅读全文
posted @ 2020-10-17 20:08 _pwl 阅读(267) 评论(0) 推荐(0)
摘要:原题传送门 \(\text{Solution}\) 这是一道ST表经典题——静态区间最大值 本文以此题为例,来浅析 \(\text{ST}\) 表 $1$.概述 \(\text{ST}\) 表是一个解决 \(\text{RMQ}\) 问题的很有力的工具 它的本质其实是动态规划,运用到的思想主要是倍增 阅读全文
posted @ 2020-10-16 21:13 _pwl 阅读(273) 评论(0) 推荐(0)
摘要:原题传送门 \(\text{Solution}\) 一道堆的模板题,借此机会来讲一下堆的概念及基本操作。 $1$.概念 堆为一种数据结构,即用数组来实现一棵 完全二叉树 有小根堆和大根堆两种。 大根堆 : 根节点点权最大 小根堆 : 根节点点权最小 所有的堆都满足一下一条性质 : 堆中某个节点的值总 阅读全文
posted @ 2020-10-16 20:13 _pwl 阅读(418) 评论(0) 推荐(0)
摘要:原题传送门 \(Thinking\) 这是一道区间$DP$的经典/入门题 状态的表示:\(f[i][j]\) 表示合并从 \(i\) 到 \(j\) 堆的最小代价 初始化:\(f[i][i]\ =\ 0\) 状态的转移:\(f[i][j]=min\{f[i][j],f[i][k]+f[k+1][j] 阅读全文
posted @ 2020-10-03 20:33 _pwl 阅读(1095) 评论(0) 推荐(0)
摘要:动态规划 $1$.常见问题 做决策 求最优解 求方案数 求可行解 搜索不能用,贪心不敢用 判断技巧: 看问题的类型 看数据范围 $2$.基本步骤 设计状态 确定初始状态 推导状态转移方程 \((1)\). 设计状态(阶段) 主要思想:问什么,设什么;从数据范围里猜测状态 思路: 满状态求出的最优解就 阅读全文
posted @ 2020-10-03 20:22 _pwl 阅读(317) 评论(0) 推荐(0)
摘要:数据结构 $1$.基础知识 需要掌握:数组,链表,队列,栈,堆 \((1)\) 队列:FIFO(先进先出) \((2)\) 栈:FILO(先进后出) $2$.堆 浅谈堆 \((1)\).实现:二叉树 二叉树最简单的实现:一维数组 二叉树编号法:设当前的节点编号为i,则其左儿子$2i$ ,右儿子$2i 阅读全文
posted @ 2020-10-03 12:58 _pwl 阅读(289) 评论(2) 推荐(1)
摘要:原题传送门 一道完全背包问题的模板题,和01背包问题一样,还是拥有两种思路 \(Solution\ 1\) 依然是一个朴实无华的二维数组 状态的表示:$f[i][j]$表示前$i$个总重量不超过$j$的最大价值 状态的转移:\(f[i][j]=max(f[i-1][j],f[i][j-w[i]]+c 阅读全文
posted @ 2020-09-25 17:56 _pwl 阅读(745) 评论(0) 推荐(0)
摘要:原题传送门 一道01背包的入门 & 模板题,以下主要提供两种思路 \(Solution\ 1\) 看到这道题,首先想到的就是用二维数组来$DP$ 状态的表示:$f[i][j]$表示前$i$个总重量不超过$j$的最大价值 状态的转移:\(f[i][j]=max(f[i-1][j],f[i-1][j-w 阅读全文
posted @ 2020-09-25 16:55 _pwl 阅读(1223) 评论(0) 推荐(0)
摘要:原题传送门 这是一道求解**\(LCS\)(最长公共子序列)长度**的模板题 状态的定义:定义$dp[i][j]$是在$A$中$1$到$i$和$B$中$1$至$j$的$LCS$长度 状态的转移: \(A[i]=b[j]\) \(dp[i][j]=dp[i-1][j-1]+1\) \(A[i] \ne 阅读全文
posted @ 2020-09-25 16:01 _pwl 阅读(629) 评论(0) 推荐(0)
摘要:原题传送门 0.前言 显然,这就是一道求解$LIS$(最长上升子序列的模板题) 1.思路 求解$LIS$,最常见~~(???),也是最好用(???)~~的办法是$DP$ 状态的表示:$dp[i]$表示到$i$位置在$a[i]$(输入序列)里$LIS$的长度 状态的转移:\(dp[i]=max(dp[ 阅读全文
posted @ 2020-09-24 20:29 _pwl 阅读(431) 评论(0) 推荐(0)
摘要:注:本文主要针对STL中的常用的操作进行总结 目录: 1.swap 2.sort 3.reverse 4.min,max(比较简单,暂且略过) 5._gcd 6.lower_bound && upper_bound 7.next_permutation 8.unique 1.swap (1)目的:交 阅读全文
posted @ 2020-09-24 20:14 _pwl 阅读(290) 评论(2) 推荐(1)

1 2 3
4