算法学习
without_Zzz
人生很贵,请别浪费
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线段树入门学习总结
**线段树线段树是一种二叉搜索树,与区间树相似,它将一些区间划分成一些单元区间,每个单元区间对应线段树上的一个叶节点。对于线段树中每个非叶子结点【a,b】,他的左儿子表示的区间为【a,(a+b)/2】,右儿子表示的区间【(a+b)+1,b】,因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。其时间复杂度为O(m*logN).线段树有很多模板,基本上每道题都是稍微改下或者...原创 2019-05-14 13:33:26 · 386 阅读 · 0 评论 -
字典树——简洁易懂模板
字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。 典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常 被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存 储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。 字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一 个字母是不是在字典的第一层,如果不在,说...原创 2019-05-22 16:36:20 · 404 阅读 · 0 评论 -
LCA——倍增
最近公共祖先(LCA)基础算法——倍增LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。 ———来自百度百科列如:在这棵树中 1717 和 88 的LCA就是 33, 99 和 77 的LCA就是 77 。明白了LCA后,就下来我们就要探讨探讨LCA怎么求了 qwq暴力算法以 17 和 18 为例,既然要求...原创 2019-05-22 15:09:03 · 672 阅读 · 0 评论 -
字符串匹配问题
链接:https://ac.nowcoder.com/acm/problem/13253来源:牛客网题目描述给出一个正整数n,我们把1…n在k进制下的表示连起来记为s(n,k),例如s(16,16)=123456789ABCDEF10, s(5,2)=11011100101。现在对于给定的n和字符串t,我们想知道是否存在一个k(2 ≤ k ≤ 16),使得t是s(n,k)的子串。输入描述:...原创 2019-05-16 17:00:32 · 454 阅读 · 0 评论 -
comet oj解方程
解方程题目描述小象同学在初等教育时期遇到了一个复杂的数学题,题目是这样的:给定自然数 nn,确定关于 x, y, z的不定方程 的所有自然数解。当时的小象同学并不会做这道题。多年后,经过高等教育的洗礼,小象同学发现这道题其实很简单。小象同学认为你一定也会做这道题,所以把这道题留给了你。为了便于输出,你不需要输出每一组解 (x, y, z),你只需要给出解的数量和所有解的 xyz 之和对 ...原创 2019-05-21 15:10:01 · 375 阅读 · 0 评论 -
莫队算法
PS:上星期五体侧跑步的时候,摔了一跤,导致手上与膝盖被摔伤了,因此这几天就没学习,在床上躺了两天。莫队算法莫队算法是一个对于区间、树或其他结构离线(在线)维护的算法,此算法基于一些基本算法,例如暴力维护,树状数组,分块,最小曼哈顿距离生成树,对其进行揉合从而产生的一个简单易懂且短小好写的算法。此算法在很多情况下可以很轻松的切掉一些复杂而且难写的数据结构问题。其实本质上莫队算法就是一个暴力算法...原创 2019-05-20 18:33:39 · 325 阅读 · 0 评论 -
二分图最大匹配问题裸模版
例题CDUTCM1650这就是一个裸的匈牙利算法AC代码与注释#include<bits/stdc++.h>using namespace std; const int N=1005;int line[N][N]; //存放数据 int boy[N],used[N]; ...原创 2019-05-15 15:11:34 · 194 阅读 · 0 评论 -
读写优化
这段时间在学习线段树,其中遇到了一些问题,比如读入与输出的时候不能用cin与cout流,这样只会TLE,我就只会改成scanf与printf,最后在网上学了一手优化的方法inline void read(int &x){ //读入优化 x=0; char tmp=getchar(); while(tmp<'0'||tmp>'9') tmp=getc...原创 2019-05-14 21:36:20 · 248 阅读 · 0 评论 -
树套树的应用及模板
树套树之线段树套平衡树问题主要解决以下几类问题1、查询k在[l,r]的排名;对treap原来的求排名函数稍作修改为求比k小的数的个数。这样线段树分段查询再合并加1,就是k在l-r的排名。时间复杂度:(log2n)[线段树,平衡树]2、查询在[l,r]的区间中排名为k的元素。这个操作真没有什么高深的做法,二分值大小吧,再用操作一暴力。听说隔壁“线段树/树状数组套主席树”可以只带两个log,平...原创 2019-05-14 20:16:20 · 379 阅读 · 0 评论 -
计蒜客——西邮J题
J-流浪西邮之寻找火石碎片Description众所周知,由于木星引力的影响,世界各地的推进发动机都需要进行重启。现在你接到紧急任务,要去收集火石碎片,重启西邮发动机。现在火石碎片已成为了稀缺资源,获得火石碎片需要钱或者需要一定的积分。火石碎片有大有小,越大的碎片能量越大,火石碎片的能量越大,重启的发动机的推力也就越强。但是,不只有我们在努力呀,隔壁的师大和政法也都在收集碎片,争取重启师大发动...原创 2019-05-27 23:24:40 · 436 阅读 · 0 评论
分享