题意:
给定n长的序列 m个操作
序列默认为 1, 2, 3···n
操作1:D [l,r] 把[l,r]区间增长 :( 1,2,3,4 进行 D [1,3]变成 1,1,2,2,3,3,4 )
操作2:Q [l,r] 问区间[l,r] 上出现最多次数的数 的次数
线段树,维护每个区间的size 和叶子节点中最大的size
开始二分查找size的前缀和,逗了一场。。其实直接dfs就好了...
分类:
其他好文 时间:
2014-08-21 21:17:44
阅读次数:
345
哈夫曼算法原理Wikipedia上面说的非常清楚了,这里我就不再赘述,直接贴过来了。1952年, David A. Huffman提出了一个不同的算法,这个算法能够为不论什么的可能性提供出一个理想的树。香农-范诺编码(Shanno-Fano)是从树的根节点到叶子节点所进行的的编码,哈夫曼编码算法却是...
分类:
其他好文 时间:
2014-08-21 14:55:14
阅读次数:
278
题目链接题意 : 一个无向连通图,最少添加几条边使其成为一个边连通分量 。思路 :先用Tarjan缩点,缩点之后的图一定是一棵树,边连通度为1。然后找到所有叶子节点,即度数为1的节点的个数leaf,最后要添加的边的条数就是(leaf+1)/2 ; 1 // 3177 2 #include 3 #i....
分类:
其他好文 时间:
2014-08-20 20:58:02
阅读次数:
279
题目地址:HDU 3452
最小割水题。源点为根节点,再另设一汇点,汇点与叶子连边。对叶子结点的判断是看度数是否为1.
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;...
分类:
其他好文 时间:
2014-08-19 11:04:14
阅读次数:
198
1、定义 组合模式(Composite Pattern)也叫合成模式,将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 2、通用类图 Component抽象构件角色:定义参加组合对象的共有方法和属性,可以定义一些默认的行为或属性。 Leaf叶子构件:...
分类:
其他好文 时间:
2014-08-18 20:11:32
阅读次数:
249
题目大意:
求出每一个结点距离叶子节点的最大距离。
思路分析:
假设1为树的根。
通过一遍dfs 可以求出每个节点到儿子节点上的叶子节点的最远距离。
然后我们要做的就是如果更新答案。
问题就是如果我们开始求的最大值本来就是一个儿子更新的,如果再深搜的话又会造成重复更新。
所以就记录两个值,最大值和次大值。
然后不断更新这两个值。
#include
#includ...
分类:
其他好文 时间:
2014-08-18 18:44:32
阅读次数:
225
谜题45:令人疲惫不堪的测验 收获:(1)递归调用的先序便利二叉树,以后在理解递归时可以做出书上所示的递归二叉树。这个图的好处是,指出了递归的深度+递归叶子层+调用的顺序(通过在每条线加上调用序号)。(2)JVM的栈深度默认是1024;这也就导致本题的线序遍历二叉树边数过多,永远不会抛出stack....
分类:
编程语言 时间:
2014-08-17 21:09:43
阅读次数:
231
typedef int elemtype;
typedef struct
{
elemtype weight;
int parent,l_child,r_child;
} binarytree;
//2、构建最优二叉树
void CreateHuffman(int leafnum, binarytree *huffmantree)
{
//leafnum个叶子,决定nodenu...
分类:
其他好文 时间:
2014-08-17 14:22:32
阅读次数:
280
题目:给定一棵二叉树,将所有的结点都放到左儿子的位置,即除了root结点外,每一个结点都是其他某一个结点的左儿子。不用保持某种顺序,不能递归,O(1)空间。思路:我的想法是,维持一个遍历指针p,另一个指针tail永远指向向左遍历到底的结点;初始化p和tail都为root,开始循环:如果p为叶子结点,...
分类:
其他好文 时间:
2014-08-17 11:34:42
阅读次数:
198
给一颗树,1为根,要求遍历树上所有点,给出叶子结点的访问顺序,限制每条边至多访问两次。
首先这是一棵树,那么两点之间的路线是确定的,所以我第一遍dfs预处理出从根节点到每个叶子的路径保存,以便后面输出。
那么就按照题目要求输出叶子结点的顺序依次输出,然后从一个叶子到下一个叶子的时候,从他们的最近公共祖先转折,所以我还预处理了相邻两个叶子结点的LCA。
#include...
分类:
其他好文 时间:
2014-08-15 14:37:08
阅读次数:
220