- 博客(8)
- 收藏
- 关注
原创 hdu 1754 I Hate It
I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 67526 Accepted Submission(s): 26263Problem Description很多学校流行一种比较的习惯。
2016-11-22 21:35:44 527
原创 线段树专题
线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段/一段区间(数组中的一段子数组),主要用于解决连续区间的动态查询问题。关于线段树的建立(以 1 2 3 4 5为例):我们把1~5这5个数,分为2个区间(1,3)和(4,5),之后判断区间是否可以继续再分,(1,3)明显可以分为(1,2)和(3,3)/3 ,把(1,2)继续向下分,3不用继续分,就把a[3]存入b数组之中,此时3位于这个数
2016-11-22 21:29:14 442
原创 51nod 1019 逆序数 (树状数组)
1019 逆序数基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列
2016-11-21 21:09:13 873
原创 求逆序数的多种解法
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。思路1:暴力查询,双重for循环for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(a[i]>a[j]) { k++;
2016-11-21 20:37:17 2991
转载 线段树
线段树详解By 岩之痕目录:一:综述二:原理三:递归实现四:非递归原理五:非递归实现六:线段树解题模型七:扫描线八:可持久化 (主席树)九:练习题一:综述假设有编号从1到n的n个点,每个点都存了一些信息,用[L,R]表示下标从L到R的这些点。线段树的用处就是,对编号连续的一些点进行修改或者统计操作,修改
2016-11-20 22:59:09 1269
原创 hdu 1166 敌兵布阵(树状数组)
敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 80390 Accepted Submission(s): 33962Problem DescriptionC国的死对头A国这段时间正在进行军事演
2016-11-18 22:08:43 476
原创 树状数组专题
树状数组构造出的基础结构:树状数组的基础是一个被构造出来的式子: C[i]=A[i]+A[i-1]+….+A[i-2^k+1] k代表i的二进制的最后连续0的个数 如图:设节点编号为x,那么这个节点管辖的区间为2^k个元素。 C1 = A1 C2 = A1 + A2 C3 = A3 C4 = A1 + A2 + A3 + A4 C5 = A5 C6 = A5
2016-11-18 21:22:02 565
原创 学生成绩管理系统(数据结构之线性表实现)
AddrList.h#include <iostream>#include <iomanip>#include <fstream>#include <process.h>#include <string.h>using namespace std;const int LIST_INIT_SIZE=10;const int LISTINCREMENT=5;//student,typede
2016-11-08 21:46:41 24673 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人