数据结构
文章平均质量分 73
阿磊AC
学习编程的捷径是:编程,编程,再编程!
展开
-
数据结构-二叉堆
(1)删除优先级最小的元素deletemin()此操作分为3步:直接删除根;用最后一个元素代替根;将堆向下重新调整。因为是最小堆,从根heap[1]开始,选取当前节点p的较小的儿子q。如果比p大,则调整停止,否则交换p和儿子的值,继续调整。 (2)向堆中插入一个新元素insert(x)插入元素是先添加到末尾,再向上调整。向上调整:比较当前节点p和其父节点,如果父节点比p小,则停原创 2017-07-11 08:52:38 · 412 阅读 · 0 评论 -
I hate it --线段树
Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和原创 2017-08-09 19:54:54 · 290 阅读 · 0 评论 -
树状数组的模板
//树状数组的模板;int lowbit(int i){ return i&(-i);}//lowbit(i)=2^k(其中k为i在二进制下末尾0的个数)//下面的代码给原数组的下标为pos的位置上的元素a[pos]加上一个数num;void update(int pos,int num){ while(pos<=n){//n为元素的个数 c[pos]=c[pos]+num原创 2017-08-09 21:23:31 · 426 阅读 · 0 评论 -
敌兵布阵------树状数组(单点更新与区间求和)
Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。原创 2017-08-10 09:33:10 · 932 阅读 · 0 评论 -
Color the ball ---树状数组(区间更新及单点求值)
Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a Input每个测试实例第一行为一个整数N,(N 当N = 0,输入结束。 Output每个测试实例输出一行,包括N个整数,第I个数代表第I个气球总共被涂色的次数。 Sample Input31 12 23 3原创 2017-08-10 10:57:37 · 413 阅读 · 0 评论 -
Stars----树状数组
SubmitStatusDescriptionAstronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount原创 2017-08-10 11:17:31 · 498 阅读 · 0 评论 -
A Simple Problem with Integers ----线段树的模板题
DescriptionYou have N integers, A1,A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The othe原创 2017-08-11 14:38:47 · 351 阅读 · 0 评论 -
Hardwood Species---map的用法的模板
DescriptionHardwoods are the botanical group of trees that have broad leaves, produce a fruit or nut, and generally go dormant in the winter.America's temperate climates produce forests with h原创 2017-08-13 14:09:00 · 358 阅读 · 0 评论 -
Matrix Chain Multiplication
Problem DescriptionMatrix multiplication problem is a typical example of dynamical programming.Suppose you have to evaluate an expression like A*B*C*D*E where A,B,C,D and E are matrices. Since原创 2017-08-06 14:57:51 · 490 阅读 · 0 评论 -
I Hate It---线段树
Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和原创 2017-08-09 19:53:00 · 313 阅读 · 0 评论 -
Terrible Sets *---* 单调栈解决问题
SubmitStatusDescriptionLet N be the set of all natural numbers {0 , 1 , 2 , . . . }, and R be the set of all real numbers. wi, hi for i = 1 . . . n are some elements in N, and w0 = 0.原创 2017-07-25 09:42:58 · 406 阅读 · 0 评论 -
Ugly Numbers --丑数
Total Submissions: 24918 Accepted: 10976DescriptionUgly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, 10, 12, ... shows the first原创 2017-08-08 09:35:25 · 527 阅读 · 0 评论 -
最大子数组
题目描述给出一个数组A[0..n-1],求数组A中和最大的连续子数组。输入描述第1行为一个整数N(N>0),表示数组元素个数。第2行为数组的N个元素,每个元素为整数,相互之间用空格分隔。输出描述在一行中输出最大子数组的起始下标、结束下标和子数组的和,用空格分开。输入样例1613 -3 -25 20 -3 -16 -23 18 20 -7 1原创 2017-07-11 21:15:14 · 737 阅读 · 0 评论 -
最长连续递增子序列
[提交] [统计] [讨论]题目描述给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。输入描述输入第1行给出正整数n(≤10^5);第2行给出n个整数,其间以空格分隔。输出描述在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有原创 2017-07-12 09:16:20 · 589 阅读 · 0 评论 -
简单计算器
题目描述模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入描述输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出描述在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例1+2*10-10/2=输出原创 2017-07-12 11:20:46 · 830 阅读 · 0 评论 -
数组循环左移
[提交] [统计] [讨论]题目描述本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a0a1⋯a(n−1))变换为(am⋯a(n−1)a0a1⋯a(m−1))(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?原创 2017-07-12 13:49:57 · 3516 阅读 · 0 评论 -
Pie
DescriptionMy birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a number N of them, of various tastes and of various sizes. F of my friends are coming to my par原创 2017-07-13 08:17:46 · 382 阅读 · 0 评论 -
二叉搜索树
#include#include#include#includeusing namespace std;typedef struct node{ int key; struct node *lChild,*rChild;}Node,*BST;//给定的BST中插入结点,其数据域为element,使之成为新的STbool BSTInsert(Node * &p,转载 2017-07-22 09:33:29 · 267 阅读 · 0 评论 -
二叉搜索树 2
又是二叉搜索树的前序遍历。 1.建树会顺序影响整棵树的形状2.记得释放资源3.可以用双重指针和引用优化程序。。 代码某些printf() 是之前设置的断点,,可以无视之#includeusing namespace std;struct BST{ char ch; BST *lson,*rson; BST() { ch=0;转载 2017-07-22 10:01:17 · 352 阅读 · 0 评论 -
Argus
DescriptionA data stream is a real-time, continuous, ordered sequence of items. Some examples include sensor data, Internet traffic, financial tickers, on-line auctions, and transaction logs such原创 2017-08-07 19:50:49 · 472 阅读 · 0 评论 -
士兵队列训练问题--队列(数据结构)
Problem Description某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。 Input本题有多原创 2017-09-11 21:27:29 · 1241 阅读 · 0 评论