文章分类 -  总结

二叉树的遍历
摘要:1 /* 2 *给出中序和前序,然后构建树,之后遍历树 3 */ 4 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 11 const int maxv = 10000+51;12 int in_ord... 阅读全文

posted @ 2015-07-31 11:03 小松song 阅读(98) 评论(0) 推荐(0)

计数排序
摘要:计数排序处理取决于数据范围和数据个数.时间复杂度 O(n+k) n代表数据个数,k代表数据范围。基本思想: 1.得到每个值前方有多少比它小的数; 2.再线性处理每一个数方法: 1.设置一个辅助数组c,数组大小为k,设置一个排序数组b,数组大小为n,b数组存着排好序之后的结果。 ... 阅读全文

posted @ 2015-07-25 10:27 小松song 阅读(171) 评论(0) 推荐(0)

RMQ模版总结
摘要:相关链接:http://blog.csdn.net/niushuai666/article/details/6624672简介:RMQ有点像线段树,预处理的时间复杂度是nlogn,每次询问为O(1),所以,对于多次查找值不变的区间最大最小值具有非常高的效率。相关变量:a数组,maxsum数组代表最大... 阅读全文

posted @ 2015-07-22 14:11 小松song 阅读(114) 评论(0) 推荐(0)

2015多校联赛第一场
摘要:对于弱渣,表示只过了两题。。。还都是水题。。。1001.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5288题意:给定一个整数n,然后l的取值是1~n,r的取值是i~n,求每个i,j范围内有多少个a[i]满足,除自己以外没有其它因子。题解:如果从区间... 阅读全文

posted @ 2015-07-22 13:47 小松song 阅读(143) 评论(0) 推荐(0)

AC自动机模版
摘要:刚学习一发AC自动机。记录一下模版。 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 1000000+50; 6 struct node{ 7 int Next[26];//... 阅读全文

posted @ 2015-07-21 10:53 小松song 阅读(146) 评论(0) 推荐(0)

manacher算法总结与模版
摘要:manacher:可以解决最长回文问题。算法:1.首先,将字符串的每个字符左右加入#,并在s0位置加入*(如果字符串中本身含有这些,则换成未出现过的字符),此时字符串的长度为len+len+3,即加入了len+1个#和一个*; (比如:aba变成 *#a#b#a#) 2.得到一个p数组,该数组... 阅读全文

posted @ 2015-07-19 22:29 小松song 阅读(500) 评论(0) 推荐(0)

最小表示法总结+模版
摘要:最小表示法:当给定一个字符串时,求它最小表示的情况,比如:baab 最小表示情况为: aabb 即把第二位置的a变成第一个位置。最大表示法:比如 abcd 最大应为:dabc 基本概念和最小表示法相同。时间复杂度:o(n)应用:比较两个环形串是否是同一字符串、判重、判同分异构等。方法:使用两个指针(... 阅读全文

posted @ 2015-07-19 15:10 小松song 阅读(381) 评论(0) 推荐(0)

ACM成长之路
摘要:注:转载自百度贴吧ACM队不是为了一场比赛而存在的,为的是队员的整体提高。大学期间,ACM队队员必须要学好的课程有:lC/C++两种语言l高等数学l线性代数l数据结构l离散数学l数据库原理l操作系统原理l计算机组成原理l人工智能l编译原理l算法设计与分析除此之外,我希望你们能掌握一些其它的知识,因为... 阅读全文

posted @ 2015-07-17 09:34 小松song 阅读(179) 评论(0) 推荐(0)

sort与qsort
摘要:1.qsort函数:原型:void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));功能:使用快速排序例程进行排序参 数:1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大... 阅读全文

posted @ 2015-07-17 09:32 小松song 阅读(159) 评论(0) 推荐(0)

并查集模板
摘要:再一次复习了并查集。。。解析什么的代码已经够详细了。。。#include#include#include#include#include#include#includeusing namespace std;#define maxn 10005000int pre[maxn],Rank[maxn];... 阅读全文

posted @ 2015-07-17 09:27 小松song 阅读(99) 评论(0) 推荐(0)

Trie树模版
摘要:Trie 树 中文名叫字典树,可以用来存放n个单词,并且找出某个前缀的数量,或者找出某个单词的数量。其实也有其他的应用,比如统计有多少个不同的字符串等等。字典树分为一般分为两个部分,一个是创建字典树,还一个是find函数,find函数的写法随着题目要求可以灵活多变的!首先 要先定义出数据结构。1 ... 阅读全文

posted @ 2015-07-17 09:16 小松song 阅读(141) 评论(0) 推荐(0)

扩展KMP算法
摘要:扩展KMP,用于求s的后缀的最长前缀。用extand数组表示第i个后缀的最长前缀的字符个数。注意几点:1.next数组是对T的 2.extand数组是对S的 3.应用:回文,重复串等代码如下: 1 #include 2 #include 3 #include 4 using... 阅读全文

posted @ 2015-07-16 21:43 小松song 阅读(151) 评论(0) 推荐(0)

KMP算法总结
摘要:KMP里里外外学了很多遍,然后从一位大牛那里学到了比较易懂的理解方法。博客链接:http://www.matrix67.com/blog/archives/115唉~KMP算法Next数组强大无比。Next数组: 1 //next数组的求法 2 void getNext(int len) 3 { 4... 阅读全文

posted @ 2015-07-15 15:43 小松song 阅读(175) 评论(0) 推荐(0)

快速幂的求法之总结.
摘要:刚刚接触到ACM 遇到指数实在是有心无力,在网上查了一下.发现了快速幂.现总结如下:我称为quick mi.假设3个数字 a,b,c;我要求的是 (a^b)modc=?显然,如果a b 都过大的话,数据肯定会溢出的. 所以用quick mi肯定简单许多,时间缩短了,而且也不容易溢出.首先想到一个公式... 阅读全文

posted @ 2014-11-03 20:03 小松song 阅读(282) 评论(0) 推荐(0)

杭电OJ分类
摘要:注:网上搜的第一篇 1001 这个就不用说了吧1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 经典问题,最近点对问题,用分治1008 简单题1009 贪心1010 搜索题,剪枝很关键1011 10... 阅读全文

posted @ 2014-11-02 19:28 小松song 阅读(365) 评论(0) 推荐(0)

导航