该文被密码保护。 阅读全文
摘要:
树状数组 F三、蒟蒻看法 树状数组是十分神奇的算法(至少我这么认为,我至今都好奇,第一个人是如何想出来的,oi深似海比海深比海深)。 F二、树状数组存在的含义(要它干啥子)用途!用途! 其实标题已经说明了,它可以支持一些区间操作,比如最基础的单点修改、区间查询,区间修改,单点查询,和一些精巧的应用。 阅读全文
摘要:
DFS 啦啦啦,再来水一波 先说思想吧! 背景: 深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法。 ————来自度娘 一、思想 DFS算法思想:一直往深处走,直到找到解或者走不下去为止 二、用途 由于时间复杂度过大一般不是正解,大部分情况是 阅读全文
摘要:
Manacher 一、背景 1975年,Manacher发明了Manacher算法(中文名:马拉车算法),是一个可以在O(n)的复杂度中返回字符串s中最长回文子串长度的算法,十分巧妙。 让我们举个栗子,栗子: 1.字符串:abbababa 最长回文子串:5(abbababa) 2.字符串:abcbb 阅读全文
摘要:
离散化 一、概述 离散化是一个非常重要的思想,可以实现很多你本来无法实现的操作(本蒟蒻原因懒惰不想学习离散化,但它真的可以让你的很多想法实现); 比如:你有10^4个数,每个数大小不超过10^10,要对这些数进行一些操作,如果开10^10的数组作为桶肯定是会爆掉的,而10^4的数组是完全ok; 定义 阅读全文