摘要: 题目连接 体验++ 我们首先从确定算法着手 \(n=1e6\) 根据常识,我们可以选择的有$O(nlogn) or O(n)$ 同样根据常识$O(nlogn)的玩意儿有二分,线段树等等$ $O(n)$的玩意儿有dp,贪心 $dp$我觉得起码要开二维才行,否则弄不出来的 那么就只剩下贪心和二分线段树之 阅读全文
posted @ 2020-06-29 11:58 Mikasa_Ackerman 阅读(142) 评论(0) 推荐(2)
摘要: 二分图定义 顾名思义,二分图就是把图分成两份,怎么分成两份呢? 很简单,将图的点分成两个集合,让每个集合的点没有边相连 知道了定义,就要学会如何判定一个图是不是二分图 二分图的判定 容易证明,如果一个图没有奇环,那么这个图一定是二分图 那么如何判定一个图是否有奇环呢? 染色法 带你深度解析染色法 我 阅读全文
posted @ 2020-06-08 20:37 Mikasa_Ackerman 阅读(387) 评论(0) 推荐(4)
摘要: trie 介绍算法思想 是一种字符串处理操作,是通过将重复的地方重合起来实现对内存的压缩 比如说 对于 进行合并 那么就是通过压位处理将公共部分 合并起来就行了 但是我们还是有不同的部分 那么在分开存储不同的部分就行了 想到了什么? 树!!! 没错 我们将字符串通过树的形式存储 比如说字符串 和`` 阅读全文
posted @ 2020-04-16 21:22 Mikasa_Ackerman 阅读(385) 评论(0) 推荐(3)
摘要: 浅谈KMP 简介 KMP是由三位大神联合发表的 分别是 取其首字母,叫KMP算法 这个算法作用是解决字符串匹配问题 时间接近复杂度O(n+m) 暴力解决 算法思路: 从每一位开头,向后匹配 如果匹配完了返回找到 如果每一位都试过了就没找到 O(n m) 阅读全文
posted @ 2020-04-11 13:28 Mikasa_Ackerman 阅读(183) 评论(0) 推荐(2)
摘要: hash 算法介绍 hash说得通俗一点,就是给一个变量编上一个马甲 比如说一个人聪明可爱,举世无双,天资聪慧.活泼机灵...,那么就是叫我了(真不要脸 但是这样是不是显得些许麻烦? 于是人类发明了名字 比如你叫张三,那么可以理解为张三就是你的hash值,一提到张三就想到你了,编程中也是一样的 比如 阅读全文
posted @ 2020-04-06 23:33 Mikasa_Ackerman 阅读(345) 评论(0) 推荐(3)
摘要: 广搜(bfs) 定义 广度优先算法,简称BFS.是一种图形搜索演算法,简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点,如果发现目标,终止. 与dfs的相似之处与不同 结合深搜理解 相同点:都是将所有的情况遍历 不同之处:dfs是一条路走到死,但是bfs则是放眼所有能到达的地方 bfs的特点 阅读全文
posted @ 2020-04-02 19:39 Mikasa_Ackerman 阅读(397) 评论(0) 推荐(2)
摘要: 搜索(dfs) 搜索分为bfs与dfs 他们的算法思路都是相同的 穷举 可以说,搜索是万能的,但是复杂度往往是指数级的,往往是穷途末路才用的最后方案 dfs dfs核心操作:回溯+前进 想想你第一次在学校找食堂是怎么找的?(by yourself) ~~乱跑啊~~ 这就是dfs 比如说: ![][s 阅读全文
posted @ 2020-03-24 20:29 Mikasa_Ackerman 阅读(259) 评论(0) 推荐(4)
摘要: 贪心介绍 定义:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解 我们先从一道例题感受贪心: 很显然,每行取最大的就完了 10+7+8+8+7 这就是一个简单的贪心策略 贪心虽然好写,但是不好想,也不好证明,有时想错贪心策略还会爆 阅读全文
posted @ 2020-03-19 00:22 Mikasa_Ackerman 阅读(228) 评论(0) 推荐(3)
摘要: 二分算法的总结 模板 说到算法肯定要说到模板对吧: 原理解析: 核心代码: 结合此图~~感性~~理解: 为什么会正确的呢? 这也是二分算法的难点 ~~虽然很简单~~ 当 合法时,他会被 或者 记录下来 在此对 l mid 或者 mid r 进行同样的操作,一直到区间不合法为止 模板清楚了,来练几道题 阅读全文
posted @ 2020-03-12 20:54 Mikasa_Ackerman 阅读(240) 评论(0) 推荐(3)
摘要: 提供一个比较清奇的思路 ~~第一次想出和题解不一样的思路,好激动~~ 看到题解都是大佬再秀,自认为我的思路好理解一些(桶加上优先队列) 思路 首先我们要明确的是实现什么 用优先队列做实现的就是两个:出队和进队 进队好办,一个 push 操作就解决了 但是出队呢,用优先队列似乎有一丢丢难办 那我们要解 阅读全文
posted @ 2020-02-03 16:20 Mikasa_Ackerman 阅读(67) 评论(0) 推荐(2)