08 2015 档案

摘要:并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组不相交的... 阅读全文
posted @ 2015-08-31 21:35 Tovi 阅读(275) 评论(0) 推荐(0)
摘要:HDU1097 本题为快速幂取模运算,直接套用模板即可 //题目描述:给你数a,b,让你输出a^b的最后一位 #include #include using namespace std;#define LL long long LL pow_mod(LL a, LL b){ LL ... 阅读全文
posted @ 2015-08-26 16:21 Tovi 阅读(186) 评论(0) 推荐(0)
摘要:线段树 转载请注明出处,谢谢!http://blog.csdn.net/metalseed/article/details/8039326 持续更新中··· 一:线段树基本概念 1:概述 线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),... 阅读全文
posted @ 2015-08-26 10:37 Tovi 阅读(168) 评论(0) 推荐(0)
摘要:Eqs Time Limit:5000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Description Consider equations having the fol... 阅读全文
posted @ 2015-08-24 09:33 Tovi 阅读(159) 评论(0) 推荐(0)
摘要:散列表的查找技术 我们学过的查找技术都是通过一系列的给定值与关键码的比较,查找效率依赖于查找过程中进行的给定值与关键码的比较次数。而散列表的查找不用比较,通过关键码直接确定存储位置。在存储位置和关键码之间建立一个确定的对应关系。 散列表的基本思想:在记录的存... 阅读全文
posted @ 2015-08-23 23:18 Tovi 阅读(334) 评论(0) 推荐(0)
摘要:链表(Linked List)是由一连串的结构(称为结点)组成的,其中每个结点都包含指向链中下一个结点的指针。 链表中的最后一个结点包含一个空指针。 链表与数组不同,数组的线性序是由数组的下标决定的,而链表中的顺序是由各结点的指针域所决定的。 链表可以灵活地表示动态集合。 采用链表表示线性表,无... 阅读全文
posted @ 2015-08-23 16:14 Tovi 阅读(235) 评论(0) 推荐(0)
摘要:队列是一种有序的线性表,队列的两端分别称为队首和队尾。队列只允许在队尾进行插入操作,在队首进行删除操作。 插入元素称为入队,删除元素称为出队。 队列常用链表或数组来实现。 #include #include using namespace std;#define max 1... 阅读全文
posted @ 2015-08-23 15:13 Tovi 阅读(179) 评论(0) 推荐(0)
摘要:问题描述:在下面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大,路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。 输入数据的要求:三角形的行数大于1小于等于100,数字为0——99. 输入格式: 5 //三角形的行数,下面是三角形 7 3... 阅读全文
posted @ 2015-08-19 10:00 Tovi 阅读(200) 评论(0) 推荐(0)
摘要:被拦截的导弹应该按照飞来的高度组成一个非递增序列。求最长非递增序列的长度。 #include using namespace std;int main(){ int h[2000], d[2000], c; //h表示 高度值, d表示最优值, c是能拦截的最多导弹数 int count ... 阅读全文
posted @ 2015-08-19 09:28 Tovi 阅读(210) 评论(0) 推荐(0)
摘要:栈是一种线性表,其插入和删除操作都只能在表的一端进行,这一端称为栈顶,而另一端称为栈底! 直接上代码! #include #include using namespace std;#define max 10000struct element{ //定义栈 int key;};... 阅读全文
posted @ 2015-08-15 15:29 Tovi 阅读(198) 评论(0) 推荐(0)
摘要:本人今年北软研究生毕业,本科是35所示范性软院之一,在毕业之际,回顾软院的7年学习生活,很感慨,写点东西给软件学院的师弟师妹们。 今年软件工程被提升至一级学科,没有挂在计算机科学之下了,而且软件学院开始招收工程博士生了,真是可喜可贺。 我读软件学院本科的时候,软院才刚成立不久,35所示范性... 阅读全文
posted @ 2015-08-13 09:38 Tovi 阅读(171) 评论(0) 推荐(0)
摘要:/*a*b (mod m) 的实现过程*//*当a,b很大的时候mod m就会产生溢出, 故运用乘法原理转换为加法求解*/LL multi(LL a, LL b, LL m){ LL exp = a %m, res = 0; while (b) { if (b & 1) //b的最低位是... 阅读全文
posted @ 2015-08-03 08:19 Tovi 阅读(525) 评论(0) 推荐(0)
摘要:/*给定一个正整数N,求出[2,N]中的所有素数*/#define maxn 1000000boool vis[maxn];void getprime(int n, int &tot, int ans[]) //筛法将合数筛掉,留下的则是素数 ,用于快速判断一个区间内的所有素数 { fot... 阅读全文
posted @ 2015-08-03 08:07 Tovi 阅读(138) 评论(0) 推荐(0)
摘要:HDU 1212 题目链接 点击打开链接 description:给定一个大数a, 求模b的结果。 题目分析:由于a很大,因此需要引入字符串进行处理! 算法分析: 同余定理 1. ( m + n ) % c = (m % c + n% c) % c 2. (m* n ) % c =( ... 阅读全文
posted @ 2015-08-01 09:10 Tovi 阅读(140) 评论(0) 推荐(0)