最近重温了一下FFplay的源代码。FFplay是FFmpeg项目提供的播放器示例。尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的。之前看代码,主要是集中于某一个“点”进行研究,而没有从总体结构上进行分析。本文就打算弥补之前学习的不足,从总体结构上分析一下FFplay的源代码,画图理一下它的结构。其中还有诸多不足,以后有机会慢慢完善。...
分类:
其他好文 时间:
2014-10-04 15:39:36
阅读次数:
393
思路详见 王知昆《浅谈用极大化思想解决最大子矩形问题》写得很详细(感谢~....)因为不太会用递推,所以用了第一种方法,时间复杂度是O(n^2),n为枚举的点数,对付这题绰绰有余思路也很简单先根据x排序之后两重循环,枚举i后的每一个点j到i可以形成的矩形面积怎么求这个矩形面积呢?非常简单,miny,...
分类:
其他好文 时间:
2014-10-04 00:59:15
阅读次数:
270
题意:将1~2n个数按照顺时针排列好,用一条线将两个数字连接起来要求:线之间不能有交点,同一个点只允许被连一次。
最后问给出一个n,有多少种方式满足条件。
分析:
ans[n]表示n的中的种类数。 规定ans[0] = ans[1] = 1;
假设给出的数是n那么从1开始, 与1之间相连的数与1之间间隔的对数分别是0, 1, 。。n-1, 那么我们就可以将他们分割成两部分,对于每一部分我们...
分类:
其他好文 时间:
2014-10-03 18:44:55
阅读次数:
207
题目链接
题意:给定一个n个点的连通的无向图,一个点的“鸽子值”定义为将它从图中删去后连通块的个数。求“鸽子值”按降序排列的前m个。
思路:其实题目就是要用来寻找割顶,我们只需找出割顶,然后记录这个割顶属于几个不同连通分量的公共点,不是割点的,去掉之后,图的连通块数为1。
代码:
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2014-10-03 15:06:24
阅读次数:
175
题意:给一个由N个点组成的一张有向图,不存在环。点的编号是0~N-1。然后给出M个棋子所在的位置(点的编号)【一个点上可同时有多个棋子】。每人每次可移动M个棋子中的一个棋子一步,移动方向是有向边指向的方向。最后无法移动棋子的人输。思路:一眼就可看出的裸的SG,直接看代码吧。代码:int sg[100...
分类:
其他好文 时间:
2014-10-03 14:12:14
阅读次数:
188
题意:
A-Z&&a-z 表示 集结点
从A点出发经过 最短步数 走到下一个集结点(A的下一个集结点为B ,Z的下一个集结点为a) 的路上遇到金子(*)则可以捡走(一个点只能捡一次)
求从A点出发走遍所有的的集结点 最多能捡多少金子
思路:先对于第 i 个集结点用BFS求出 对于每个点从该集结点所需的步数 为D[ I ] [ t ]
对于任意一个金子若 两个相邻的集结点的最短步数=...
分类:
其他好文 时间:
2014-10-03 09:57:04
阅读次数:
161
题目链接:点击打开链接
题意:
给定一个点集
添加一些点后再把这个点集输出来。
添加完点后使得对于点集内任意2个点都满足下面2条中至少一条
1、在同一水平线上或在同一垂直线上
2、所围成的矩阵里有其他点。
思路:
平面分治
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include
#include...
分类:
其他好文 时间:
2014-10-03 01:59:23
阅读次数:
558
要说最短路,先来说说最长路,理解了最长路问题之后,才能透彻理解最短路的几个算法。最大化问题在线性结构、树型结构里面可以轻松构造无后效性的最优子结构解决,但是在图结构里面就很麻烦,原因是顺着一个点推下去之后,图结构中还存在另一个点亦可到达此点,可能推翻前面存的结果。所以要对整个图进行Relax。最短路...
分类:
其他好文 时间:
2014-10-02 20:06:03
阅读次数:
343
题目地址:HDU 2473
这题以前碰到过,没做出来。。现在又做了做,还是没做出来。。、、
这题涉及到并查集的删除操作。想到了设一个虚节点,但是我把虚节点设为了要删除的点的父节点,一直是栈溢出,目测是无限递归了。看了看别人的做法, 原来只要建一个映射就可以了,虚节点是作为的新的映射,每次删除一个点,就把他映射到一个新的点上去。
代码如下:
#include
#include
#incl...
分类:
其他好文 时间:
2014-10-02 12:57:02
阅读次数:
163
线段树(interval tree) 是把区间逐次二分得到的一树状结构,它反映了包括归并排序在内的很多分治算法的问题求解方式。
上图是一棵典型的线段树,它对区间[1,10]进行分割,直到单个点。这棵树的特点
是:
1. 每一层都是区间[a, b]的一个划分,记 L = b - a
2. 一共有log2L层
3. 给定一个点p,从根到叶子p上的所有区间都包含点p,且其他区间都不包...
分类:
其他好文 时间:
2014-10-02 09:14:52
阅读次数:
196