Algorithm
xlvector
heihei
展开
-
DirectShow : AVI文件操作 -- C++ 类
DirectShow AVI 文件操作最近在做一个“运动物体分割”的课题,在课题中要处理视频文件,首先考虑最简单的视频格式:AVI格式,由于AVI格式是微软推出的,所以在Windows下操作比较容易,这里我用DirectShow读写AVI视频文件,并把所有操作封装成一个类:AVICodec。下面是类的定义:class AVICodec{public: AVICodec(){size原创 2006-01-24 21:33:00 · 5084 阅读 · 4 评论 -
C++ Recipes 自己实现输出重定向
输出重定向在命令行中,可以用 > 和 >> 等实现。但是有时候我们希望通过编程来实现,以下是一个最简单的 C++ 版本。#include ios>#include iostream>#include fstream>int main( )...{ using namespace std; ofstream file( "rdbuf.txt" ); streambuf *x原创 2008-01-15 13:03:00 · 2596 阅读 · 0 评论 -
C++ Type traits
昨天研究了C++ 的 type traits,我们在使用C++的模板的时候,有时我们需要确定模板中的T究竟是什么类型的,这时候我们就要用到type traits.比如我们定义一个比较大小的函数:template less(const T & a, const T & b);我们需要在T是int,double,string时设计不同的算法,一种可以选择的方案就是函数重载。不过我们也可以原创 2007-11-20 09:56:00 · 2670 阅读 · 1 评论 -
blog
最近BlogSpot解封了,所有的文章都发表在http://vector-sci.blogspot.com/ python的Web开发Happy New YearCanvas Tag中美确实有必要建一条直连的光缆了Problem 最小集合元素和圣诞快乐排序的交换问题An antiarithmetic permutation高精度计算问题计算机程序设计艺术:学原创 2007-01-02 22:00:00 · 884 阅读 · 0 评论 -
How to Draw Graph(一)
我们这里讨论的图是图论中的图,主要是研究如何将图显示在一个2D的平面上。首先举一个例子,考虑一个随机图:我们定义3n个顶点,分成3个团(Group),我们定义:p(vi,vj)为vi和vj有边的概率,如果vi,vj属于同一个团,我们去比较大的概率,否则取比较小的概率。这样我们定义了一个有3个Group的随机图。如果我们想把这个图在2D平面上显示出来,我们希望显示出来的图也能够显示出这种Group的原创 2006-12-17 15:01:00 · 1521 阅读 · 3 评论 -
Graph Algorithm : Bridge 桥
桥是指连通图中这样的边,如果把它删去,图将不连通,下面就是一个图的桥的示意图。原创 2006-11-21 09:53:00 · 1202 阅读 · 0 评论 -
最小生成树 MST
原创 2006-11-16 16:27:00 · 1200 阅读 · 0 评论 -
Joseph - acm.uva.305(约瑟夫环)
假设有2k个人围着一个圆桌坐着,前k个是好人,后k个是坏人 。现在开始,每m个人踢掉一个,比如有6个人,m=5,那么,被踢掉的人依次是5,4,6,2,3,1。现在要求,在踢掉第一个好人前,必需把所有的坏人踢掉,问,给定一个k,求满足这个要求的最小的m。 The Josephs problem is notoriously known. For those who are not famili原创 2006-11-14 20:23:00 · 4748 阅读 · 2 评论 -
MatrixPainting
MatrixPaintingProblem StatementThere is a matrix with 9 rows and 9 columns. Each cell of the matrix is either black or white. With a single repaint operation, you can repaint all the cells in a single原创 2006-11-15 16:05:00 · 1055 阅读 · 0 评论 -
位运算在算法编程中的使用技巧
在代码优化时,广泛引入位运算可以提高代码的运行速度,本文主要介绍一些常用的位运算的技巧。 求浮点数的绝对值double abs(double y){ double x = y; *(((int *) &x) + 1) &= 0x7fffffff; return x;} 整数的平均值对于两个整数x,y,如果用 (x+y)/2 求平均值,会产生溢出,因为 x+原创 2006-02-10 10:00:00 · 2189 阅读 · 0 评论 -
Gif 文件格式分析 —— (转)
1.概述~~~~~~~~ GIF(Graphics Interchange Format,图形交换格式)文件是由 CompuServe公司开发的图形文件格式,版权所有,任何商业目的使用均须 CompuServe公司授权。 GIF图象是基于颜色列表的(存储的数据是该点的颜色对应于颜色列表的索引值),最多只支持8位(256色)。GIF文件内部分成许多存储块,用来存储多幅图象或者是决定图象表现行原创 2006-01-27 10:11:00 · 1790 阅读 · 0 评论 -
Area of Triangles and Polygons (2D)
Area of Triangles and Polygons (2D)TrianglesAncient waysS = b*h/2 = abSin(θ)/2 = sqrt[s(s-a)(s-b)(s-c)]s = (a+b+c)/2Modern waysS = |(V1-V0)×(V2-V0)|/2 = [(x1-x0)(y2原创 2006-01-24 23:17:00 · 1092 阅读 · 0 评论 -
Multi-Threading Competition Series
TopCoder今年将举行Inter的多处理器系统的并行算法比赛。下面是相关的资料多线程编程教程: POSIX Threads Programming并行算法 A Library of Parallel Algorithms Designing and Building Parallel Programs Programming Parallel Algorithms原创 2006-02-01 18:39:00 · 1147 阅读 · 0 评论 -
网上有关optical flow的资源
教程: Optical Flow —— http://www.cs.cf.ac.uk/Dave/Vision_lecture/node45.html Motion Flow in Computer Vision —— http://robotics.eecs.berkeley.edu/~sastry/ee20/vision3/vision3.ht原创 2006-01-28 17:34:00 · 1718 阅读 · 0 评论 -
正则表达式系统教程------(转)
转自 http://blog.csdn.net/FaneAnn/前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题。索引1. 引子 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环原创 2006-01-25 12:00:00 · 829 阅读 · 0 评论 -
图可视化工具 GLDF : Graph Layout tool
GLDF : Graph Layout by Directed Force最近一直在研究复杂网络的问题,可视化是复杂网络中的一个重要工具,Directed Force的可视化算法可以显示出网络中的一些结构,比如聚类结构。为此写了一个可视化工具,用的 Qt for windows. 可以移植到Linux下面。可以处理1000个顶点的图的可视化(在普通PC机上测试),支持鼠标的拖动,选择等交互。支持P原创 2008-09-19 12:36:00 · 3896 阅读 · 0 评论