- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 堆
1. 概述堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆)。它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等。2. 堆的基本操作堆是一棵完全二叉树,高度为O(lg n),其基本操作至多与树的高度成正比。在介绍堆的基本操作之前,先介绍几个基本术语:A:用于表示堆的数组,下标从1开始,一直到n
2015-04-14 21:29:37 667
原创 POJ 3627 Bookshelf (贪心)
DescriptionFarmer John recently bought a bookshelf for cow library, but the shelf is getting filled up quite quickly, and now the only available space is at the top.Each of the N cows (1 ≤ N ≤ 20,
2015-04-09 21:27:07 1480
原创 POJ 3663 Costume Party (二分查找)
DescriptionIt's Halloween! Farmer John is taking the cows to a costume party, but unfortunately he only has one costume. The costume fits precisely two cows with a length of S (1 ≤ S ≤ 1,000,000).
2015-04-09 21:14:59 1519
原创 POJ 2192 Zipper (dp)
链接: http://poj.org/problem?id=2192 题意:就是给定三个字符串A,B,C;判断C能否由AB中的字符组成,同时这个组合后的字符顺序必须是A,B中原来的顺序,不能逆序;例如:A:mnl,B:xyz;如果C为mnxylz,就符合题意;如果C为mxnzly,就不符合题意,原因是z与y顺序不是B中顺序。DP求解:定义dp[i][j]表示A中前i个字符与B中前j个字
2015-04-08 14:54:32 1166
原创 求出对应N的所有合法匹配括号 (DFS)---小米笔试题
给定N对括号,输出其所有的合法的组合状态,例如,N=3,所有的合法状态为:"((()))”, “(()())”, “(())()”, “()(())”, “()()()”;解析:还是深搜DFS的思路,深搜的过程关键在于记录已经用掉的左括号个数和右括号的个数,当用过的左括号个数小于右括号则非法;当二者个数和大于2N则非法;当二者个数相等且数目等于2N则为合法。代码如下
2015-04-08 10:50:25 3396 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人