蒟蒻的ACM算法与数据结构
UnKfrozen
这个作者很懒,什么都没留下…
展开
-
蒟蒻的ACM数据结构(一)-线段树
浅谈线段树的指针写法(未完结目录一 .基本概念二. 基础操作建树单点查询单点修改区间查询区间修改三.优化1.Lazy-Tag思想一、基本概念线段树是一棵二叉搜索树,它储存的是一个区间的信息。每个节点以结构体的方式存储,结构体包含以下几个信息:每个节点以结构体的方式存储,结构体包含以下几个信息:区间左端点、右端点;(这两者必有这个区间要维护的信息(事实际情况而定...原创 2018-11-19 21:31:25 · 553 阅读 · 0 评论 -
蒟蒻的ACM算法(七)-CDQ分治
CDQ分治不得不说预备知识CDQ分治伪代码不得不说 本来标题想写分治,但是想了想发现自己分治能说的不多,主要的内容就是CDQCDQCDQ分治.便取了这个标题.预备知识关于什么是分治 分治,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在计算机科学中,分...原创 2019-07-13 23:11:57 · 355 阅读 · 0 评论 -
蒟蒻的ACM大模拟(一)-高精度
高精度我好羡慕会用java的人我上小学高精度加法高精度减法高精度乘法高精度除法高精度除低精度完整代码高精度除高精度我好羡慕会用java的人为什么要用到高精度呢?我们知道,intintint的范围是±231−1\pm2^{31}-1±231−1,long longlong\,longlonglong的范围是±263−1\pm2^{63}-1±263−1,那么当我们想...原创 2019-06-03 21:50:36 · 530 阅读 · 0 评论 -
蒟蒻的ACM数据结构(七)-st表
蒟蒻的ACM数据结构-st表引例定义完整代码引例洛谷P3865RMQ的中文翻译为:静态区间最值查询.英文我不知道所以不写给你n个数,m次查询,查询的内容为区间[l,r]中的最大值.RMQ有两种解法,一种是st表,第二种是线段树,第三种是树状数组.st表的复杂度为预处理O(nlogn)+查询O(m)而线段树则需要预处理O(nlogn)+查询O(mlogn)树状数组没学,不清楚线段树可...原创 2019-05-15 20:38:50 · 272 阅读 · 0 评论 -
蒟蒻的ACM数据结构(六)-划分树
蒟蒻的ACM数据结构-划分树引定义建树查询引如题:POJ2014给定一n个元素的数组,每次查询[l,r]区间内第k大的数.朴素解法为将数组[l,r]内的数排序,然后选择第k个即可.最坏情况O(m*n).这个时候,就需要更好的数据结构,划分树/归并树.定义原数组为{4,2,5,7,1,8,3,6},在每次划分左右子树时的中值,都用红色表明.小于中值的进入左子树,大于中值的进入右子树....原创 2019-05-15 17:16:37 · 327 阅读 · 0 评论 -
蒟蒻的ACM数据结构(五)-左式堆
左式堆一.序二.用处三.基本概念四.合并五.代码实现(一).结构(二).合并(三).插入(四).删除(五).样例代码例题(hdu 1512) Monkey KingProblem DescriptionInputOutput解析一.序强烈安利<数据结构与算法分析-c语言描述>这本书!!!更好的讲解可阅读该书.或者看这位大佬的博客%%二.用处这个左式堆啊~直接当作可以合并的二叉...原创 2019-04-18 20:20:01 · 376 阅读 · 0 评论 -
蒟蒻的ACM数据结构(四)-单调队列和单调栈
单调队列和单调栈一.概念二.实现三.题目一.概念目的是:维持数据结构内的一组线性数据并保证其按照单调递减或单调递增.单调队列/栈的实现很简单,只用一个数组即可,多用于与其他算法等搭配,产生非常好的效果.二.实现int q[MAX],head,tail; //队列或者栈,头,尾void built(int &head,int &tail,int *q) //初始化{ ...原创 2019-04-11 21:44:50 · 388 阅读 · 0 评论 -
蒟蒻的ACM数据结构(三)-字典树
一、何为字典树二、代码实现(一)树本体(二)建树(三)查找(四)删除树==必写==三、例题Hat’s WordsInputOutputSample InputSample Output解析原创 2019-03-13 14:12:53 · 204 阅读 · 0 评论 -
数位dp总结之从入门到模板
数位dp总结之从入门到模板转载至@wust_wenhao基础篇实战篇例一:HDU 2089 不要62第二:相减。然后就是一些需要自己yy的题:新的领域--计数转求和转载至@wust_wenhaohttps://blog.csdn.net/wust_zzwh/article/details/52100392基础篇 数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条...转载 2019-03-21 18:47:41 · 350 阅读 · 0 评论 -
蒟蒻的ACM算法(六)-数论相关
整除 规定,如果,数a%b==0 ,那么称a可以整除b。整除符号为“|”。记做:a|b取余的几个公式快速幂欧几里得求余扩展欧几里得原创 2019-03-07 20:32:37 · 311 阅读 · 0 评论 -
蒟蒻的ACM算法(五)-KMP算法
KMP模板蒟蒻学识浅陋,欢迎各位大牛指正void getnext(char *t){ for (int i = 2,j = 0; i &amp;amp;amp;amp;amp;amp;lt; len2; i++) { //首先初始状态,第一位前面肯定没有, while (j&amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;t[i] != t[j]) j = n原创 2019-03-05 20:04:37 · 374 阅读 · 0 评论 -
蒟蒻的ACM算法(三)-线性基
浅谈线性基定义思想求解线性筛常用操作一.查询最值二.查询最小值常见题目题目背景题目描述输入输出格式输入输出样例说明解析定义即使线性代数课结束,依然逃不过线性代数线性基,类似于线代里面的矩阵求最大线性无关组.看一下大佬的说法:锵锵,传送门%%%%首先来看一个问题: 给出N个数,要从中选出一个最大的子集,使得子集中的任意个元素异或值不为0.这个和极大线性无关组有些类似。异或可以看出是模2...原创 2019-01-23 14:54:18 · 777 阅读 · 1 评论 -
蒟蒻的ACM算法(四)-匈牙利算法
匈牙利算法二分图定义匹配匈牙利算法核心代码完整代码参拜大佬%%%二分图定义 严格的定义请参加百度百科什么的.这里简单讲一下我的理解.就是给你一个图,有n个点.你可以按照边的关系,将这n个点分成两部分,而且这两部分之间有边相连.但是每一部分里面的点互不相连. 如图1,左右两部分的点随意相连,但是每部分里的每一个点互不相连.匹配 首先是极大匹配(Maximal Matching)...原创 2019-01-31 15:37:30 · 306 阅读 · 0 评论 -
蒟蒻的ACM数据结构(二)-前向星
浅谈前向星一.基本概念二.代码实现1.核心代码2.保存和输出三.优化--链式前向星1.基本概念2.代码实现(边的储存以及输出)(1).数组实现(2).指针实现欢迎各大佬,大牛对本文指正,也希望本文能对各位有所帮助一.基本概念 前向星是什么?? 前向星是一个边集数组.啥玩意啊,拽什么专业词汇啊.也就是说,与邻接矩阵相比,前向星更像是用vector储存的邻接链表,是储存边的数组. 这个...原创 2018-12-17 21:06:20 · 238 阅读 · 0 评论 -
蒟蒻的ACM算法(二)-BFS
什么是BFS BFS:中文名为"广度优先搜索算法(宽度优先搜索算法)",其英文全称是 Breadth First Search是利用队列数据结构(FIFO)来解决从初始状态到最终状态最少步骤问题.BFS的核心:队列 队列是什么?? 队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。 如何写并不重要,这里主要讲怎么用头文件:#include&lt;queue...原创 2018-12-03 20:22:30 · 303 阅读 · 0 评论 -
蒟蒻的ACM算法(一)-DFS
一.什么是DFS? DFS:中文名叫&amp;amp;amp;amp;amp;quot;深度优先搜索算法&amp;amp;amp;amp;amp;quot; 其定义为:从当前初始状态开始,按深度方向搜索,能往下走就走,不能走就返回到上一层,继续找没有被访问 的结点,直至所有结点都被访问为止。就是往前走,撞到墙了才会回头,真牛脾气二.主要核心思想:递归 递归:一旦达成了下一步的条件,就递归到下一层.如果所有选择都不符合到达下一步的条件,那么舍弃这一步,返回原创 2018-12-03 19:47:16 · 360 阅读 · 0 评论 -
[分块]分块练习入门1~9(未完)
分块序数列分块入门 1数列分块入门 2数列分块入门 3数列分块入门 4数列分块入门 5数列分块入门 6序感谢@hzwer大佬出的练习题题目链接LOJ本蒟过弱,实在不知道怎么压缩代码量了->_->数列分块入门 1给出一个长为 nnn 的数列,以及 nnn 个操作,操作涉及区间加法,单点查值。将nnn个数,按照每n\sqrt{n}n为一个块标记.belong[x]:元素...原创 2019-07-30 14:52:45 · 1067 阅读 · 0 评论