先用bfs预处理出层次图,然后在层次图上用dfs找增广路径,理论复杂度O(n*n*m)const
int INF=0xfffffff ;struct node{ int s,t,cap,nxt ;}e[200005] ;int
m,n,head[10005],level[10005],cnt ...
分类:
其他好文 时间:
2014-05-01 20:05:16
阅读次数:
379
这道题我一开始想到用递归方法,可以把规模大的问题变成规模小的问题,但是觉得递归的时间复杂度很高,因为它会把相同的问题进行重复计算,然后我想是不是有什么down-up的方法,先把所有的子问题的结果保存起来,但是发现问题的最优解并不能由子问题的最优解推导出来。最后就想到买股票的时候,我们在一个局部极小的...
分类:
其他好文 时间:
2014-05-01 19:24:02
阅读次数:
250
题目链接:12105 - Bigger is Better
题意:一些火柴,问你能组成整除m最大的数字是多少。
思路:dp[i][j]表示用i根火柴,组成%m余数为j的最大数字,末尾多一个数字k的状态就是dp[i + num[k]][(j * 10 + k) % m],由于最多可能50位数,所以要用高精度。
注意一个优化点,由于高精度的计算上只需要乘10+k,常规的高精度乘法复杂度还是有点高...
分类:
其他好文 时间:
2014-05-01 18:22:36
阅读次数:
350
在初次接触排序算法稳定性这个概念时,我一直认为复杂度为O(n2)的算法是稳定的,复杂度为O(nlogn)的算法是不稳定的。当时是这样理解的,复杂度为O(n2)的算法不可能再坏,而复杂度为O(nlogn)的算法在极端情况下可能会退化为O(n2),例如快速排序。但其实这是错误的,稳定性的概念远没有这么复杂,它只表示两个值相同的元素在排序前后是否有位置变化。如果前后位置变化,则排序算法是稳定的,否则是不...
分类:
其他好文 时间:
2014-05-01 17:20:58
阅读次数:
278
VHDL与Verilog硬件描述语言在数字电路的设计中使用的非常普遍,无论是哪种语言,仿真都是必不可少的。而且随着设计复杂度的提高,仿真工具的重要性就越来越凸显出来。在一些小的设计中,用TestBench来进行仿真是一个很不错的选择。VHDL与Verilog语言的语法规则不同,它们的TestBe.....
分类:
其他好文 时间:
2014-05-01 10:15:20
阅读次数:
382
冒泡排序
思路:就是每次将最大或最小的元素放到数组的最后,so easy!时间复杂度为(O(n^2))
public class BubbleSort {
public static void bubbleSort(int[] a) {
for (int j = 1; j < a.length; j++) {
for (int i = 0; i < a.length - j; i+...
分类:
编程语言 时间:
2014-04-30 22:12:40
阅读次数:
309
最短路问题是图论中最基础的问题,在面试题中出现的次数也很多,很多类似最少步数等问题都能转化到最短路问题,这篇文章介绍单源最短路问题的两种算法。单源最短路问题是固定一个起点,求它到其他所有点的最短路问题,如果只求两个固定点之间的最短路,看起来要简单很多,但其实复杂度是一样的,所以我们广泛的讨论单源最短路问题。...
分类:
其他好文 时间:
2014-04-29 13:46:22
阅读次数:
281
分布式消息系统Jafka入门指南作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs一、JafkaMQ简介JafkaMQ是一个分布式的发布/订阅消息系统,它是Apache Kafka的Java移植版。2013年11月28日,JafkaMQ发布了1.2.3版。JafkaMQ的特征如下:1)消息持久化到磁盘的算法时间复杂度为O(1),即使是TB级的消息存储,也能...
分类:
其他好文 时间:
2014-04-29 13:32:22
阅读次数:
278
最长上升子序列:
有两种基本方法:两个时间复杂度分别为O(n^2)和O(nlogn)。
O(n^2)
容易的出动态规划的递推公式dp[i]=max(dp[j])+1 j=1,2...i-1,dp[i]是以元素i结尾的最长子序列个数。
在O(n^2)的最长上升子序列中可以通过记录每个元素前缀元素位置的方式来得到整个的最长上升子序列。
代码:int LISOn2(int a[],int to...
分类:
其他好文 时间:
2014-04-29 13:24:22
阅读次数:
314
队列只允许一端进行插入操作,另一端进行删除操作。队列是一种先进先出的线性表,简称FIFO,允许插入的一段为队尾,允许删除的一端为队头。
顺序队列
与栈不同的是,队列的出队元素在队头,那么队列没出去一个元素,后面的元素就要依次像前移动,这样他的时间复杂度就是O(n)。
考虑上面截图的流程感觉效率很低,起始我们的队列可以以另一种方式来处理,就是元素不懂,而队头的指...
分类:
其他好文 时间:
2014-04-29 13:14:20
阅读次数:
284