![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法笔记
文章平均质量分 79
_Mocha_
私はこの世界を深く愛している
展开
-
C++ set和multiset容器的用法
C++ set和multiset容器的用法原创 2016-08-12 16:58:50 · 1310 阅读 · 0 评论 -
C++后缀数组详解
C++后缀数组详解原创 2016-12-02 14:07:54 · 2254 阅读 · 0 评论 -
基本数论入门(快速幂+扩展欧几里得)
数论,快速幂,扩展欧几里得原创 2017-10-02 11:35:16 · 698 阅读 · 0 评论 -
单调队列入门
单调队列入门 -ZZZ单调是一种思想,当我们解决问题的时候发现有许多冗杂无用的状态时,我们可以采用单调思想,用单调队列或类似于单调队列的方法去除冗杂状态,保存我们想要的状态,原创 2016-09-29 13:51:53 · 7413 阅读 · 6 评论 -
Fhq-Treap总结:短小精悍不旋转的神级数据结构
Fhq-Treap首先我们从二叉搜索树讲起(顺便复习)我们知道我们访问一个节点所需要的时间复杂度和他的深度有直接的关系,比如说一个N个节点的完全二叉树访问一个节点的最坏复杂度是O(logN)O(logN)O(logN),但是如果在一条N个节点的链中访问一个节点的最坏复杂度就是O(N)O(N)O(N),所以想要速度够快,那么树的结构一定要尽量平衡,保持在logNlogNlogN左右。为了...原创 2018-04-16 20:01:02 · 9098 阅读 · 11 评论 -
哈夫曼树(Huffman-Tree)的构造及应用
本文以学习笔记的性质谈一种哈夫曼树较为严谨的贪心做法,哈夫曼树的应用将在往后补上。 有这样一棵k叉树,它的叶子节点有权值,第i个叶子节点权值为wi(wi>0)wi(wi>0)w_i(w_i>0),他的深度为lilil_i,要求最小化∑wi∗li∑wi∗li\sum w_i*l_i,这样问题的解称为k叉哈夫曼树。 为了最小化∑wi∗li∑wi∗li\sum w_...原创 2018-07-02 08:41:24 · 6888 阅读 · 0 评论 -
[poj1182]食物链 & [poj2912]Rochambeau (边带权和扩展域并查集模型)
传送门【poj1182】传送门【poj2912】这两题之所以可以放在一起讲,一是他们的所求内容高度相似,其次是他们都属于边带权或者拓展域的并查集的基本模型。这两题的核心思路就是维护三个集合A,B,C,使得他们里面的元素满足A吃B,B吃C,C吃A。 那么这样的具有传递性的关系以及维护他们的连通情况考虑并查集求解。边带权解法:先来说边带权的解法,所谓边带权就是并查集的边上带有权值表示,同时...原创 2018-09-19 20:31:36 · 407 阅读 · 1 评论 -
Floyd的三种有趣的玩法
众所周知,Floyd是一个思路和实现都很简单的多源最短路径算法,原理是一种动态规划的思想,这里就不赘述太多,在做《算法竞赛进阶指南》中关于Floyd的题目中遇到的三种Floyd可以解决的问题,建议大家在阅读本文之前先熟悉Floyd算法。1、传递闭包什么是传递闭包? 给定一些元素和一些二元关系,且他们具有传递性(也就是假设关系有二元关系⨁\bigoplus⨁,对于元素a,b,ca,...原创 2018-10-19 08:21:53 · 410 阅读 · 0 评论