http://acm.hdu.edu.cn/showproblem.php?pid=1394给出一列数组,数组里的数都是从0到n-1的,在依次把第一个数放到最后一位的过程中求最小的逆序数线段树的应用,先建树,输入一个数,查询在在树中比他大的数的个数,然后把这个数更新进树里,再输入数重复操作,类似于进...
分类:
其他好文 时间:
2015-08-25 13:40:47
阅读次数:
129
哈夫曼树又称为最优二叉树,哈夫曼树的一个最主要的应用就是哈夫曼编码,本文通过简单的问题举例阐释哈夫曼编码的由来,并用哈夫曼树的方法构造哈夫曼编码,最终解决问题来更好的认识哈夫曼树的应用--哈夫曼编码。 一、引子 在学习中我们经常遇到将各科成绩改为优秀、良好、中等、及格和不及格。那么根据分级原理,代码...
分类:
其他好文 时间:
2015-08-19 16:08:45
阅读次数:
180
题意:
给出一个n个结点,n-1条边的链,边权初始为0;
m次操作,操作有两种:
1. C:区间[l,r]的边权加上或减去一个数;
2. Q:查询区间随机取不相同两点之间的期望长度;
题解:
区间加减之类的东西显然是线段树的应用,恰巧这道题就在链上;
主要这题还是维护第二问的东西;
区间[l,r]的选路方式共有(r-l+1)*(r-l)/2这些种,那么只要求出所有路径总长度...
分类:
其他好文 时间:
2015-08-17 23:43:21
阅读次数:
117
题意:
问l,r区间 取任意整数x , 问 ∑|X-xi| 的最小值
做法:很明显 这个X是中位数。 中位数想到划分树,然后在划分树 建树的时候,把进左子树的数计算一个前缀和,然后在查询的时候,如果到右子树,就把区间内进入左子树的数算一个和。最后统计出来的sumlft 就是所有比区间内中位数小的数了。...
分类:
其他好文 时间:
2015-08-04 11:27:18
阅读次数:
129
题目的意思是:给你几个字符串对str1,str2。输入完毕后有一个空行,然后是询问的输入,每行一个字符串,如果该字符串与str2相同,则输出str1,否则输出“eh”。
这题字符串对达到100000,询问的也达到了100000个,所以,普通的方法必定超时。所以需要建立字典树。
这题还有一个比较麻烦的就是输入。如何控制那一个空行之后的询问输入,这是关键。
简单的字典树的应用。
下面是AC的代...
分类:
其他好文 时间:
2015-08-03 22:38:54
阅读次数:
176
二叉查找树也叫二叉排序树。对于树中的每个节点X,它的所有左子树中项的值小于X节点中的项,所有右子树中的项的值大于X的项。需要实现的基本操作有:1.包含:判断某个元素是否包含在二叉查找树中,若存在则放回true,否则返回false。具体操作步骤如下:(1).从根结点开始进行判断,根结点为空则直接结束返回false;(2).如果相等则直接结束返回true;如果大于根结点的值,则继续与根结点的右子树进行比...
分类:
编程语言 时间:
2015-07-29 14:03:07
阅读次数:
265
#include
#include
#include
#include
#define MAXSIZE 100
typedef char ElemType;
typedef struct Node
{
ElemType data;
struct Node *lchild;
struct Node *rchild;
}Bit...
分类:
其他好文 时间:
2015-07-28 21:02:20
阅读次数:
119
题目的意思很明确,有两种操作,一种是计算一个数列的第 a 到 第b的和,另一种是第 a 到 第 b 之间的数加上 c。由于这些操作的数目很大,用普通的办法无法办到,会超时。
对于这类问题,用线段树可以很好解决。对于线段树还只是学习阶段,还不是很熟,需要多加练习与理解。
#include
#include
#include
using namespace std;
typedef __i...
分类:
其他好文 时间:
2015-07-19 16:27:56
阅读次数:
84
赫夫曼树的应用
1、哈夫曼编码
在数据通信中,需要将传送的文字转换成二进制的字符串,用0,1码的不同排列来表示字符。例如,需传送的报文为“AFTER DATA EAR ARE ART AREA”,这里用到的字符集为“A,E,R,T,F,D”,各字母出现的次数为{8,4,5,3,1,1}。现要求为这些字母设计编码。要区别6个字母,最简单的二进制编码方式是等长编码,固定采用3位二进制,可分别用0...
分类:
其他好文 时间:
2015-07-09 19:56:25
阅读次数:
312
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5269 ,BestCoder Round #44的B题,关于字典树的应用。 比赛的时候没想出做法,现在补上。题解: 我们考虑,当lowbit(A xor B) = 2p时,A和B表示的二进制数的后...
分类:
其他好文 时间:
2015-06-19 20:14:59
阅读次数:
112