自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(56)
  • 资源 (6)
  • 收藏
  • 关注

原创 vs中的相对路径

关于"./", "../" 表示相对路径的用法总结

2010-08-24 21:49:00 647

原创 A example of Maximum A Posteriori (MAP) estimation

最近学习deblur,看到最多就是这个东西:最大后验估计Maximum A Posteriori (MAP) estimation。在wiki上载录了一个例子。

2010-08-07 10:02:00 602

原创 matlab中的小函数

不断更新中

2010-08-04 09:22:00 352

原创 mfc中窗口大小适合图片大小

<br />使用多文档时,当打开一张图片后,想使窗口和图片大小一样,需要重载view的OnInitialUpdate函数。在函数体可以写成<br />void CMyView::OnInitialUpdate()<br />{<br />    CView::OnInitialUpdate();<br /><br />    CMyDoc* pDoc = GetDocument();<br />    <br />      GetParentFrame()->MoveWindow( 0

2010-07-01 21:53:00 500

原创 cgal-空间直线的的最小距离

have two lines/rays in 3d and want to get the shortest line that connects both (or similarly: the 3d point that has the shortest distance to both lines)

2010-06-16 08:57:00 434

原创 最小堆类

<br />#pragma once#include<iostream>#include<cmath>#include<algorithm>using namespace std;template<class T>class MinHeap{private:T *heap;int CurrentSize;int MaxSize;void FilterDown(const int start,const int end);void FilterUp(in

2010-06-11 10:29:00 219

原创 CGAL中Polyhedron_3中与半边结构有关的具体使用

cgal的数据结构基本操作

2010-06-11 10:27:00 541

原创 CGAL学习笔记(Kernel)

KernelThe concept of a kernel is defined by a set of requirements on the provision of certain types and access member functions to create objects of these types. The types are function object classes to be used within the algorithms and data struct

2010-06-11 10:25:00 663

原创 firefox 插件配置

<br />

2010-06-11 10:24:00 227

转载 VC项目配置基础

<br />一.预处理宏<br />1. 通用宏<br />VC6.0中:<br />Project Setting>C/C++>Preprocessor definitions<br />VC2005中:<br />项目属性>配置属性>C/C++>预处理器定义<br /> <br />WIN32:指明是Window 32系统的编译器,一般用作平台识别。<br />_MBCS/_UNICODE:指明该工程使用的字符集(多字节字符集/UNICODE)。<br />在VC6.0的“Project Setting

2010-06-11 10:12:00 1832 2

原创 Bitset的一些总结

Bitset 是一个特殊的容器类,它被设计用来存储bit(即 只有两个值的元素:0 或1,true 或 false ,...)。这个类和常规的数组很像,但是优化了存储空间:每个元素只占用一个bit(比C++中最小的类型:char 小了8倍)。每个元素(每个 bit)可以独立存取:比如,一个名为mybitset 的bitset,表达式 mybitset[3] 访问它的第四个bit,就像访问常规数组的

2009-02-19 14:49:00 496

转载 MFC双缓冲解决图象闪烁

显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁?我们的绘图过程大多放在OnDraw或

2009-01-06 16:05:00 433 1

原创 c++的三大特性

Operator Overloading下面的代码是一段运算符重载代码:class CVeryLong   {  public:      // default contructor inits member variables to zero       CVeryLong(){ m_lHigh = m_lLow = 0; }       // initi

2009-01-06 14:42:00 1462 1

原创 SystemMenu添加Item

SystemMenu是在应用程序的Icon处点击鼠标左,右键时弹出的菜单。这个菜单不能再资源编辑器里进行可视化编辑。所以要想添加Item就要手工加入代码,添加消息映射。HMENU pSysMenu = ::GetSystemMenu(m_pMainWnd->GetSafeHwnd(), FALSE);if (pSysMenu){ ::InsertMenu(pSysMenu, 0,

2009-01-06 11:24:00 409

原创 Document/View 模式下的窗口重绘

在Doc/View框架下,窗口的重绘主要由以下几个函数来完成 CDocument::UpdateAllViewsCView::OnUpdate CWnd::Invalidate 或CWnd::InvalidateRect CView::OnDraw当doc管理的资料发生变化时,在doc中调用UpdateAllViews,来通知view更新其显示内容,view并不是直接调用OnD

2009-01-06 09:22:00 699

转载 VC的MFC中重绘函数的使用总结(整理)

在刷新窗口时经常要调用重绘函数MFC提供了三个函数用于窗口重绘InvalidateRect(&Rect)Invalidate()UpdateWindow()当需要更新或者重绘窗口时,一般系统会发出两个消息WM_PAINT(通知客户区有变化)和WM_NCPAINT(通知非客户区有变化)--WM_NVPAINT系统会自己搞定--WM_PAINT消息对应的函数是OnPaint

2009-01-04 10:08:00 5125 3

原创 文件打开对话框设定过滤

CString str;   str =_T("BMP Fiels (*.bmp)|*.bmp|ALL File (*.*)|*.*||");   CFileDialog dlg(TRUE, _T(".bmp"),_T("*.bmp"),OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, str, NULL);以上代码的功能是生成一个文件打开对话框,并能够过滤出BMP文件,

2009-01-03 10:47:00 359

原创 数字图像处理课设

     大学期间的最后一个课设终于做完了,我的大学生活也算是到头了。每个学期的课设我都是认真完成的,感觉做课设是对一个学期学习成果的总结。回想从大一开始,编写DOS界面的程序,到现在能用MFC编写程序,自己在大学总算是学了点东西。     接触MFC还不到一个月,对我来说MFC还是个新东西,经常要查看MSDN来解决问题。以前总是想着要学界面编程,但是感觉MFC非常难学,都不知道应该怎么入门。

2009-01-03 10:02:00 937

原创 MFC中添加快捷键

MFC中的快捷键是一资源的方式,建立起一个快捷键表,表中的内容就是对于键的id号。首先要加载这个加速器资源,和menu一样,要使用就要加载。然后是在消息预处理函数中添加一些东西,来响应键盘事件,这就需要重载 virtual BOOL PreTranslateMessage(MSG* pMsg)函数,最后就是建立起快捷键的事件,实现映射函数。先是加载://HACCEL hAcc; 定

2008-12-30 18:53:00 937

原创 MFC入门程序

    不用向导手写mfc程序(建win32 app 工程,project setting 里设置成share MFC dll)可以让人更清楚的了解到MFC程序的架构。和SDK的流程其实是相同的。MFC也有窗口类设计,窗口类注册,窗口创建,窗口绘制,消息循环,窗口过程。然而,MFC把这些过程都封装起来了。使程序员在编程是不要处理很多可以模块化的东西,比如通用窗口的设计,注册,创建,绘制等,只有要产

2008-12-26 14:54:00 419

原创 模板函数

#include  using namespace std;template class T>T power(T base,int exp){    if(expreturn 0;    T ret=1;    for(int i=1;i   return ret;}int main(){    //三种调用       int i=

2008-12-22 14:33:00 317 1

原创 c++对象的生命周期

C++ 的new 运算子和C 的malloc 函数都是为了配置内存,但前者比之后者的优点是,new 不但配置对象所需的内存空间时,同时会引发构造式的执行。所谓构造式(constructor),就是对象诞生后第一个执行(并且是自动执行)的函数,它的函数名称必定要与类别名称相同。相对于构造式,自然就有个析构式(destructor),也就是在对象行将毁灭但未毁灭之前一刻,最后执行(并且是自动执

2008-12-22 14:02:00 1495

原创 staitc 变量以及成员

class SavingAccount{  private:  char m_name[40]; // 存户姓名   char m_addr[60]; // 存户地址   double m_total; // 存款额   static double m_rate; // 利率 };m_rate是一个静态成员,他和nonstatic有什

2008-12-22 13:25:00 394

原创 virtual 关键字以及虚函数的介绍

virtual是c++中的关键字,用它来定义虚函数。用法: 在基类中被定义为virtual的函数,派生类重载该函数不需要再次显示说明该函数是virtual的。例如以下代码:class A{ //虚函数示例代码 public:  virtual void fun(){//代码}};class B:public A{ public:   void f

2008-12-22 09:30:00 446

原创 一个简单的Windows

 先要在vc中创建工程,以及源文件。  step1:   step2: step3:     然后就可以在WinMain文件中写入win32的主函数,以及窗口过程函数,完成简单的windows编程。#include #include //定义窗口过程函数LRESULT CALLBACK WinProc(   //typedef LONG LRESULT     HWND hwnd,        

2008-12-16 10:27:00 280

原创 Using button controls in an application

IntroductionThis tutorial could well be the simplest windows program you couldever write.  All you need to understandthis tutorial is the basics of windows messaging.  This tutorial is about the

2008-12-12 19:21:00 236

原创 基于频繁增长树(FP-树)的频繁项集挖掘算法实现

   花了两天的时间终于完成了。一开始照着论文实现了一下,总是感觉怪怪的,结果果然不对,论文里描述看上去都差不多,就是抓不住要点,最后还是看懂了原版paper,才实现了。感觉FP-Tree的实现并不难,就是一些链表指来指去,倒是觉得FP_growth函数不好写,这个函数主要是在一棵大FP-Tree上操作,来生产小FP-Tree树,最终得到只有一个枝的树,就能打印组合了。递归是肯定的。另外,第一次用

2008-12-07 21:06:00 858

转载 二叉树和红黑树

                          二叉树和红黑树  An Introduction to Binary Search and Red-Black Trees By cpphamzaTopCoder Member As a programmer, youll frequently come across tasks that deal with a number

2008-10-30 19:11:00 492 1

原创 pku2406 Power Strings(kmp字符匹配,next数组)

   重看了下数据结构,发现有些知识还没有吃透。kmp算法就是一个。kmp的关键就是next数组,求出了next数组后就和O(n*m)的算法类似。求next数组有dp的思想,假设知道next[i]=k,现在要求next[i+1],                next[i]+1   ch[i]=ch[i+1]   next[i+1]=   next[k]+1  沿着前面的next数组找到一个k

2008-10-28 14:09:00 537

原创 pku 1737 Connected Graph(组合数学,高精度)

package pku1737;import java.math.BigInteger;import java.util.*;public class Main {    static BigInteger f[];    public static void main(String[] args) {        int n;        Scanner 

2008-10-21 18:17:00 734

原创 动态规划小结

pku 3132 Sum of Different Primes(素数和)    一个数被k不同的素数相加,共有多少中方法。dp[i][k][j],表示数i由k个不同的素数相加,j表示第几个素数。dp[i][k][j]=sigma(dp[i-prime[j]][k-1][h]) 1pku 3291 Cousins(贪心,LCS)   求出两个字符串的最长公共子序列,题目要求的是构造出两个串的最长公

2008-10-20 21:02:00 483 1

原创 hdu 2513 cake clicing(切蛋糕)

   这题是用四维过的。dp[i][j][h][w],i,j表示蛋糕的左上角,h,w代表高和宽。在dp前还要统计一下每个子蛋糕方块中樱桃的数目。状态转移方程是这样的(考虑行,列两种切法)   在[i][j][h][w]这块蛋糕中没有樱桃,则     dp[i][j][h][w]=0 否则       dp[i][j][h][w]=min{      dp[i][j][h][w-w0]+dp[i][

2008-10-06 22:15:00 571

原创 pku 3533 Light Switching Game(nim 积)

 第一个nim积题目。nim积与nim和够成一个正整数域上的群。nim积用⊗表示,nim和用⊕表示。和乘法类似:    x⊗1=1⊗x=x    y⊗0=0    (x⊗y)⊗z=x⊗(y⊗z)⊕是异或运算。⊗的运算法则定义为:   1.The nimber product of distinct Fermat 2-powers (numbers of the form ) is equal to

2008-09-02 18:38:00 938

原创 数学类小结

pku 1150 The Last Non-zero Digit   和计算排列数末尾有多少个零有些类似,把2,5因子都拿出来,剩下的数的最后一个数字只有1,3,7,9。只有各位上的数字才会影响最后一个非零数字。统计可以用递归来统计,求出1~n中因子2,5的个数,以及3,7,9结尾的数和去掉2,5后新的到的数中3,7,9结尾的数。结果就是 2^(dig[2]-dig[5])*3^(dig[3])*

2008-08-28 20:12:00 4431 4

原创 计算几何小结

pku 1039 Pipe    这题的最优解在于最优直线至少会过两个拐点,枚举拐点对。pku 1092 Farmland   总是是过了。这题有点像找凸包,不同的是凸包是以最左下点作为参考。首先对每个顶点的邻接点排序(按极角),以源点和顶点为参照边,从小到大排序其邻接点。通过排序后各顶点的邻接点按逆时针排列。下一步就是去找所以的封闭多边形,按着从一条边以该边为轴逆时针旋转到邻近的边,由于事先对邻

2008-08-22 10:10:00 822

原创 归并排序求逆序数

void mergeSort(int b, int e,int &change){    if(e-breturn ;        int mid=(b+e)/2,p1=b,p2=mid+1,i=b;        mergeSort(b,mid);mergeSort(mid+1,e);        while(p1//p1 mid     p2  e        {            

2008-08-18 17:14:00 364

原创 pku 2348 Euclid's Game

这题的意思是说:给两个数,两个人轮流减少他们,不能再减的那个人输。每次只能在这两数中选小的(倍数)减大的.可以看出这类题不是NIM类题,因为每次减少的数目是不能确定下来的。先看些简单的情况。假设这两个数是a>b. 1。当a%b==0时,先行者胜,即(N-position). 2。当a%b!=0时, 设a=b*q+r。(q>1)   可以看出先者可以做出让a减b,2b,3b..qb这q种选择。在这些

2008-08-04 21:15:00 652 5

原创 pku2352 Stars(线段树实现)

第一个线段树。。。线段树真是灵活多变啊。。。看来要好好掌握还要多加练习。。/*pku2352  Name: Stars  Date: 02-08-08 16:41  Description: 统计问题,线段树 */#include#define MAX 72010#define pr printf//  FILE * pp=fopen("temp.txt

2008-08-02 19:52:00 577

原创 pku3277 City Horizon.(离散化+二分查找)

还是用到了离散化和二分查找的一个题目,题目是求每段线段可以达到最大的矩形面积,再求总和。/*  Name: City Horizon   Date: 31-07-08 17:06  Description: 离散化+二分查找 用了个链表*/#include#include#include#define pr printf__int64 x[100003]

2008-08-01 18:22:00 474

原创 pku1177 Picture(矩形外围总周长)

这题我先是用离散化做了下,发现可以过,时间当然要久点。在离散化中有这样一个概念:超元线段。这些线段将平面分割成大小不相当(或相等)的矩形,这些矩形的边要么是给定矩形的边的一部份要么完全和给定矩形无关。我们只有按给定矩形的顶点的x坐标,y坐标分别画出垂直x轴,y轴的直线,用这些直线来分割平面,它们相交得到的线段就是超元线段。只有统计出超元线段出现的次数矩形的总周长就可以算到了。/*pku1177

2008-07-30 08:11:00 554

SystemMenu添加Item

修改系统菜单的简单实例代码。。。。。。。。

2009-01-06

课数字图像处课程设计

数字图像处理的课设,用于处理彩色BMP图片,实现简单的几何变换功能。运行环境是Visual 2005

2009-01-03

一个简单MFC入门程序

照深入浅出MFC写的hello MFC,没用向导生成

2008-12-26

基于频繁增长树(FP-树)的频繁项集挖掘算法实现

共三个文件。 PF-Tree.h是PF-Tree头文件,建立PF-Tree newmain.cpp包含main函数,主要有FP_growth函数,基于PF-Tree的数据挖掘,最小支持度为宏MIN_SUPPORT data.in 是数据读入文件 直接运行主函数,结果在data.out文件输出 绝对物超所值。。

2008-12-07

正则表达式英文版

orei'lly出版的正则表达式,哪一版的不太清楚了~~~~~

2008-04-17

Java解惑中文版

对Java感兴趣的朋友可以看看Java解惑中文版

2008-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除