算法能力的考察,向来是顶级科研机构和IT公司面试时最具备区分度的成分,算法功夫扎实,提升面试效率。 算法长期以来被视作是聪明人的专利,好像有些人天生思路就开阔,遇到问题能马上整理出计算模型,然后实施巧思,而大多数人则只能…
分类:数据结构
3 表格拷贝至Excel的绝妙办法
大数据,从小笔记开始 很多时候,你在网上或者其他地方拷贝一个表格到Excel时,经常会格式对不上,如果你不知道这个办法,你很可能想着干脆一个个输入,但这绝对不是一个好办法。 现在就告诉你一个好办法。 比如,我要拷贝这个表…
BZOJ-1030: [JSOI2007]文本生成器(AC自动机+DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1030 AC自动机上的DP,f[i][j]表示文本匹配到i,在AC自动机上匹配到j的且未匹配完任何单词的情况,那么答…
看动画轻松理解「递归」与「动态规划」
在学习「数据结构和算法」的过程中,因为人习惯了平铺直叙的思维方式,所以「递归」与「动态规划」这种带循环概念(绕来绕去)的往往是相对比较难以理解的两个抽象知识点。 程序员小吴打算使用动画的形式来帮助理解「递归」,然后通过「…
线性表--链式存储结构--静态链表
静态链表 一、存储结构 #define MAXSIZE 1000 typedef struct { ElemType data; // 数据 int cur; // 游标(Cursor) } Component, Sta…
扩展欧几里德算法
扩展欧几里德算法用来在已知和的情况下,求等式的一组可行解,该算法思路如下: 若,则有,是一组可行解 若,则设递归求等式的一组可行解。设求得的可行解为,则有。又,且,故有。则,为原等式的一组可行解。 扩展欧几里德算法的实现…
Noip 2013 day 2 被虐报告(+解题报告)
今年的的Noip确实有些坑,Day2没有数论,而且还比day1容易。。。。。。 第一题: 直接模拟,如果h[i]>h[i-1],ans+=h[i]-h[i-1],我白痴的写了离散化+模拟,硬是把复杂度从O(n)搞到…
BZOJ-1057: [ZJOI2007]棋盘制作(悬线法解极大子矩阵)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1057 悬线法求极大子矩阵,最初先把到左上角的点的曼哈顿距离为奇数的数去一次异或,然后跑两次极大子矩阵就可以了。 (…
3.3平衡查找树
前面的二叉查找数已经很好的能应用在许多程序中,这次的平衡查找树不管怎么改造,他的运行时间都是对数级别的. 3.3.1 2-3查找树 标准的二叉树,称 2- 结点(含有一个键,两条链接) , 引入一个新的 3- 结点(含有…
A*算法
挂在码云上的:Golang实现示例 A-Star算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是许多其他问题的常用启发式算法。注意——是最有效的直接搜索算法。 现成的讲解在这里
数据结构| 栈
栈的定义 栈也称为堆栈,它是限定仅在表尾进行插入和删除操作的线性表。对于栈来说,表尾称为栈顶,表头称为栈尾。栈顶是动态变化的,它由一个栈指针的变量指示的。当表中没有元素时,称为空栈。栈的插入操作称为入栈或进栈,而删除操作…
数据结构与算法(1)-顺序表
线性表的介绍 线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。 特征: 1.存在唯一的一个被称做“第一个”的数据元素; 2.存在唯一的一个被称做“最后一个”的数据元…