题目链接题意 : 给你两个表格,第一个表格是三种天气下出现四种湿度的可能性。第二个表格是,昨天出现的三种天气下,今天出现三种天气的可能性。然后给你这几天的湿度,告诉你第一天出现三种天气的可能性,让你求出最可能出现的天气序列 。思路 :定义第 i 天叶子湿度为hum[i]。第 i 天,天气为 j的最大...
分类:
其他好文 时间:
2014-07-26 01:15:36
阅读次数:
228
一、基本概念1、赫夫曼(Huffman)树又称最优二叉树或最优搜索树,是一种带权路径长度最短的二叉树。在许多应用中,常常赋给树中结点一个有某种意义的实数,称此实数为该结点的权。从树根结点到该结点之间的路径长度与该结点上权的乘积称为结点的带权路径长度(WPL),树中所有叶子结点的带权路径长度之和称为该...
分类:
其他好文 时间:
2014-07-26 00:33:36
阅读次数:
255
题解:给出了二叉树的中序和后序,重建二叉树,输出路径和最短的叶子的值。
两个模板:
给出前序和中序建树:
Node* build (int n, int* preo, int* ino) {
Node* node = new Node;
int i = 0;
if (n <= 0)
return NULL;
while (ino[i] != p...
分类:
其他好文 时间:
2014-07-25 11:26:21
阅读次数:
175
http://acm.hdu.edu.cn/showproblem.php?pid=4865
大致题意:有三种天气和四种叶子状态。给出两个表,分别是每种天气下叶子呈现状态的概率和今天天气对明天天气的概率。给出n天叶子的状态,输出最有可能的天气序列。
思路:wl[i][j]表示天气为i,叶子为j的概率,ww[i][j]表示今天天气为i明天天气为j的概率,st[i]表示第一天天气为...
分类:
其他好文 时间:
2014-07-23 21:00:25
阅读次数:
168
题意比较麻烦。。。n天,给出每天的叶子的一种状态(Dry , Dryish , Damp and Soggy),最有可能出现的天气序列(Sunny, Cloudy and Rainy)
最开始,第一天处于每种状态有一个预定义的概率。每一天,根据当前的叶子状态,处于每种天气状况有一个给定的概率;题目中还给出任意两种天气状态的转移概率,即前一天处于某种天气时今天处于某种天气的概率。...
分类:
其他好文 时间:
2014-07-23 17:14:40
阅读次数:
157
题目:hdoj1166
分析:题意很清晰,就是让你给某个点又增加或者减少x个,然后求某一段有多少个,我是用一个father数组保存叶子节点的编号,然后直接从当前节点开始,更轻到root就ok。
查询的话,从根节点开始,看在左子区间还是右子区间,直接查询到某一段全部在要查询的区间内,求和就ok,很简单。
代码:
#include
#include
#include
...
分类:
其他好文 时间:
2014-07-22 14:33:54
阅读次数:
231
题目:hdoj1754 I Hate It
分析:更新的话,建树的时候保存叶子编号的的节点信息,然后从下往上更新就ok。
求和的话,从根节点开始,然后找在根的左边还是右边,然后递归找一个所有中的最大值即可、
代码:
#include
#include
#include
using namespace std;
const int N = 205000;
struct...
分类:
其他好文 时间:
2014-07-22 14:33:36
阅读次数:
179
对于一个二叉搜索树, 要想找到这棵树的最小元素值, 我们只需要从树根开始, 沿着left 孩子指针一直走, 知道遇到NULL(即走到了叶子), 那么这个叶子节点就存储了这棵二叉搜索树的最小元素。 同理, 从根节点开始, 沿着right 孩子指针, 最终找到的是最大关键字的节点。
也就是说寻找BST最小关键字的元素和最大关键字的元素的代码是对称的。伪代码如下:
TREE_MINIMUM(x...
分类:
编程语言 时间:
2014-07-21 09:28:27
阅读次数:
241
给定一棵二叉树, 如何确定这棵二叉树的高度(即树的最大的深度), 是一个很常见的问题。
给下图回顾一下:
关于高度和深度的概念, 参见上图。
NOTE: 高度: 参考节点是距离节点最远的叶子
深度: 参考节点是根节点
寻找二叉树的高度也可以通过一个递归函数(a recursive function)实现, 这依然源于树是一个递归的数据结构。
例如, 对于下图, 我们可以求出根...
分类:
编程语言 时间:
2014-07-21 09:18:35
阅读次数:
344
题意:
求矩形面积的并 每个矩形里面有个小的矩形被挖空
思路:
经典的线段树扫描线 我竟然坑了3个小时没写出来…真是鄙视自己!!
学过扫描线的都会有思路 这里提出一个错误想法…(就是我的…)
你要是这样给线赋权值就大错特错了 因为会发现线段树的结构使得操作变得很麻烦
当你想更新某段区间的时候 并不知道准确的down到哪里 也不知道更新完了up要如何合并区间
当然像我一样一开始都更新到叶子节点是必须TLE的… TAT
正确思路是这样的
划分出4个矩形再求 为什么这样就对了呢? 因为不...
分类:
其他好文 时间:
2014-07-19 23:32:09
阅读次数:
313