题意:
给定一个树,选择若干点,使得选择的结点中任一结点不会和它的子结点同时选择,求能选结点最大数量。同时判断方案数是否为一。
思路:树的最大独立集,用树形dp,dfs一遍找每个结点的父亲,是为了从下向上刷每个结点儿子的最大独立集和and每个结点孙子的最大独立集和的表
判断方案数是否唯一同样在树形dp的同时递推判断即可
算法复杂度可以是线性
//248K 0MS C+...
分类:
其他好文 时间:
2015-03-14 13:57:57
阅读次数:
1425
今天被要求写一段程序,题目如下; 已知过去四周内20个交易日天内黄金的价格,求过去20天内最大差值? a[20]={2,5,1,6,7,9,10,18...1}我当时想的是差值,肯定是两天交易日之间的差值,第1天与第2天之间的差值,第2天与第3天之间的差值,第一天与第三天之间的差值,他们之间的最大值...
分类:
编程语言 时间:
2015-03-13 18:16:24
阅读次数:
203
插入排序的算法复杂度为O(n2),但假设序列为正序可提高到O(n),并且直接插入排序算法比較简单,希尔排序利用这两点得到了一种改进后的插入排序。一. 算法描写叙述希尔排序:将无序数组切割为若干个子序列,子序列不是逐段切割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小.....
分类:
编程语言 时间:
2015-03-05 22:15:14
阅读次数:
153
间间断断的将9种排序实现,并且将其以博客笔记的形式记录下来;现在就该来综合的分析这九种排序,让我们先来看看其算法复杂度和稳定性的分析结果:算法复杂度以及稳定性分析算法名称平均时间辅助空间稳定性冒泡排序O(n2)O(1)是选择排序O(n2)O(1)否插入排序O(n2)O(1)是自底向上归并排序O(nl...
分类:
编程语言 时间:
2015-03-04 10:59:59
阅读次数:
165
转自http://www.cnblogs.com/gaochundong/p/complexity_of_algorithms.html为什么要进行算法分析?预测算法所需的资源计算时间(CPU 消耗)内存空间(RAM 消耗)通信时间(带宽消耗)预测算法的运行时间在给定输入规模时,所执行的基本操作数量...
分类:
编程语言 时间:
2015-03-02 18:13:19
阅读次数:
220
题意:一个H * W的大矩形,里面的某些格子种有树。现在要你找出一个h * w的小矩形,使得里面树的数量最多,问最多有多少棵树
是二维树状数组基础用法,边输入边更新有树的点,建完树后就可以查询每个(1,1)到(x,y)为对顶点的矩形中共有多少棵柿子树。
算法复杂度 O(H*W*lgH*lgW)
但是由于这题的柿子树一旦确...
分类:
编程语言 时间:
2015-02-23 09:41:08
阅读次数:
180
题目链接:http://hihocoder.com/problemset/problem/1089算法描述:floyd算法是求解图中任意两点最短路的经典算法,复杂度为O(n^3)。虽然我们完全可以用n次dijkstra算法来求任意两点的最短路,复杂度也是O(N^3),但如果有一个算法只需要5行代码就...
分类:
编程语言 时间:
2015-02-22 19:34:03
阅读次数:
260
Manacher(马拉车)是一种求最长回文串的线性算法,复杂度O(n)。网上对其介绍的资料已经挺多了的,请善用搜索引擎。而扩展KMP说白了就是是求模式串和主串的每一个后缀的最长公共前缀【KMP更像是一个自动机】题目:POJ 1159:Palindrome求原字符串最少增加几个字符后可变成回文串,相当...
分类:
其他好文 时间:
2015-02-21 23:26:15
阅读次数:
242
LIS(Longest Increasing Subsequence)最长上升子序列 或者 最长不下降子序列。很基础的题目,有两种算法,复杂度分别为O(n*logn)和O(n^2) 。**********************************************************...
分类:
其他好文 时间:
2015-02-20 22:00:21
阅读次数:
245
传送门:Rain on your Parade题意:t个单位时间后开始下雨,给你N个访客的位置(一维坐标平面内)和他的移动速度,再给M个雨伞的位置,问在下雨前最多有多少人能够拿到雨伞(两个人不共用一把伞)。分析:这题匈牙利算法撸不过,只好去学习Hopcroft-Carp算法,复杂度为O(sqrt(V...
分类:
编程语言 时间:
2015-02-13 13:13:33
阅读次数:
179