随笔分类 - 模板类、
摘要:代码和思路来自:传送门 建树模板、 对应查询函数模板、 对应单点更新模板、 RMQ 查询区间最值下标、 连续区间修改或单结点更新的动态查询问题
        阅读全文
                
摘要:蓝桥杯吃了亏、确实是知道换位置,但........不说了 太智障了 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算
        阅读全文
                
摘要:转载:http://blog.sina.com.cn/s/blog_70811e1a01014esn.html
        阅读全文
                
摘要:转载自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最短路径—Dijkstra算法和Floyd算法 Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节
        阅读全文
                
摘要:克鲁斯卡尔(kruskal) 1 //kruskal算法生成最小生成树、 2 3 //对边集数组Edge结构的定义 4 typedef struct 5 { 6 int begin; 7 int end; 8 int weight; 9 }Edge; 10 void Minispantree_kru
        阅读全文
                
摘要:转自:http://blog.csdn.net/x314542916/article/details/7837276 线段树(interval tree) 是把区间逐次二分得到的一树状结构,它反映了包括归并排序在内的很多分治算法的问题求解方式。 【声明】 【创建线段树(初始化)】: 线段树是用二叉树
        阅读全文
                
摘要:过年那几天确实没好好学习、在老家闲着也是闲着、可是就是没看书、 回来这几天又一直在弄个人博客、买域名云服务器备案什么的- -、 麻烦死了呢、 在腾讯花1块钱备案了一个网站www.goodgoodstudy.pw,起名字的时候实在是纠结,索性来了个无聊的 备案完成后还是决定在阿里云再备案一个网站,我也
        阅读全文
                
摘要:1 //子集生成算法:给定一个集合,枚举所有可能的子集。 2 //为了简单起见,讨论的方法中没有重复元素 3 4 //增量构造法 5 #include<cstdio> 6 #include<cmath> 7 void print_subset(int n,int* A,int cur) 8 { 9 
        阅读全文
                
摘要:1 //生成1~n的排列,按字典序由小到大排列 2 void print_permutation(int n,int* A,int cur) 3 { 4 if(cur==n){ //递归边界 5 for(int i=0;i<n;++i) printf("%d",A[i]); 6 printf("\n
        阅读全文
                
摘要:并查集是一种用来管理元素分组情况的数据结构、 并查集的复杂度:并查集加入两个优化(路径压缩和高度的合并)以后效率很高,对n个元素的并查集进行一次操作的复杂度是O(a(n)).在这里,a(n)是阿克曼(Ackermann)函数的反函数,这比O(log(n))还快,不过这是“均摊复杂度”,也就是说不是每
        阅读全文
                
摘要:要理解KMP最重要的一点就是防止重复的回溯、 !!!很重要!!!很重要!!!很重要 要了解KMP可以去:http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html 首先要生成模板串的next数组 1 void getNext(
        阅读全文
                
摘要:int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号