- 博客(56)
- 资源 (6)
- 收藏
- 关注
原创 A example of Maximum A Posteriori (MAP) estimation
最近学习deblur,看到最多就是这个东西:最大后验估计Maximum A Posteriori (MAP) estimation。在wiki上载录了一个例子。
2010-08-07 10:02:00
671
原创 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
555
原创 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
483
原创 最小堆类
<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
260
原创 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
727
转载 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
1940
1
原创 Bitset的一些总结
Bitset 是一个特殊的容器类,它被设计用来存储bit(即 只有两个值的元素:0 或1,true 或 false ,...)。这个类和常规的数组很像,但是优化了存储空间:每个元素只占用一个bit(比C++中最小的类型:char 小了8倍)。每个元素(每个 bit)可以独立存取:比如,一个名为mybitset 的bitset,表达式 mybitset[3] 访问它的第四个bit,就像访问常规数组的
2009-02-19 14:49:00
560
转载 MFC双缓冲解决图象闪烁
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁?我们的绘图过程大多放在OnDraw或
2009-01-06 16:05:00
479
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
1507
1
原创 SystemMenu添加Item
SystemMenu是在应用程序的Icon处点击鼠标左,右键时弹出的菜单。这个菜单不能再资源编辑器里进行可视化编辑。所以要想添加Item就要手工加入代码,添加消息映射。HMENU pSysMenu = ::GetSystemMenu(m_pMainWnd->GetSafeHwnd(), FALSE);if (pSysMenu){ ::InsertMenu(pSysMenu, 0,
2009-01-06 11:24:00
462
原创 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
746
转载 VC的MFC中重绘函数的使用总结(整理)
在刷新窗口时经常要调用重绘函数MFC提供了三个函数用于窗口重绘InvalidateRect(&Rect)Invalidate()UpdateWindow()当需要更新或者重绘窗口时,一般系统会发出两个消息WM_PAINT(通知客户区有变化)和WM_NCPAINT(通知非客户区有变化)--WM_NVPAINT系统会自己搞定--WM_PAINT消息对应的函数是OnPaint
2009-01-04 10:08:00
5236
2
原创 文件打开对话框设定过滤
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
414
原创 数字图像处理课设
大学期间的最后一个课设终于做完了,我的大学生活也算是到头了。每个学期的课设我都是认真完成的,感觉做课设是对一个学期学习成果的总结。回想从大一开始,编写DOS界面的程序,到现在能用MFC编写程序,自己在大学总算是学了点东西。 接触MFC还不到一个月,对我来说MFC还是个新东西,经常要查看MSDN来解决问题。以前总是想着要学界面编程,但是感觉MFC非常难学,都不知道应该怎么入门。
2009-01-03 10:02:00
994
原创 MFC中添加快捷键
MFC中的快捷键是一资源的方式,建立起一个快捷键表,表中的内容就是对于键的id号。首先要加载这个加速器资源,和menu一样,要使用就要加载。然后是在消息预处理函数中添加一些东西,来响应键盘事件,这就需要重载 virtual BOOL PreTranslateMessage(MSG* pMsg)函数,最后就是建立起快捷键的事件,实现映射函数。先是加载://HACCEL hAcc; 定
2008-12-30 18:53:00
978
原创 MFC入门程序
不用向导手写mfc程序(建win32 app 工程,project setting 里设置成share MFC dll)可以让人更清楚的了解到MFC程序的架构。和SDK的流程其实是相同的。MFC也有窗口类设计,窗口类注册,窗口创建,窗口绘制,消息循环,窗口过程。然而,MFC把这些过程都封装起来了。使程序员在编程是不要处理很多可以模块化的东西,比如通用窗口的设计,注册,创建,绘制等,只有要产
2008-12-26 14:54:00
463
原创 模板函数
#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
423
1
原创 c++对象的生命周期
C++ 的new 运算子和C 的malloc 函数都是为了配置内存,但前者比之后者的优点是,new 不但配置对象所需的内存空间时,同时会引发构造式的执行。所谓构造式(constructor),就是对象诞生后第一个执行(并且是自动执行)的函数,它的函数名称必定要与类别名称相同。相对于构造式,自然就有个析构式(destructor),也就是在对象行将毁灭但未毁灭之前一刻,最后执行(并且是自动执
2008-12-22 14:02:00
1606
原创 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
432
原创 virtual 关键字以及虚函数的介绍
virtual是c++中的关键字,用它来定义虚函数。用法: 在基类中被定义为virtual的函数,派生类重载该函数不需要再次显示说明该函数是virtual的。例如以下代码:class A{ //虚函数示例代码 public: virtual void fun(){//代码}};class B:public A{ public: void f
2008-12-22 09:30:00
531
原创 一个简单的Windows
先要在vc中创建工程,以及源文件。 step1: step2: step3: 然后就可以在WinMain文件中写入win32的主函数,以及窗口过程函数,完成简单的windows编程。#include #include //定义窗口过程函数LRESULT CALLBACK WinProc( //typedef LONG LRESULT HWND hwnd,
2008-12-16 10:27:00
325
原创 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
282
原创 基于频繁增长树(FP-树)的频繁项集挖掘算法实现
花了两天的时间终于完成了。一开始照着论文实现了一下,总是感觉怪怪的,结果果然不对,论文里描述看上去都差不多,就是抓不住要点,最后还是看懂了原版paper,才实现了。感觉FP-Tree的实现并不难,就是一些链表指来指去,倒是觉得FP_growth函数不好写,这个函数主要是在一棵大FP-Tree上操作,来生产小FP-Tree树,最终得到只有一个枝的树,就能打印组合了。递归是肯定的。另外,第一次用
2008-12-07 21:06:00
906
转载 二叉树和红黑树
二叉树和红黑树 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
539
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
571
原创 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
808
原创 动态规划小结
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
534
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
647
原创 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
993
原创 数学类小结
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
4543
4
原创 计算几何小结
pku 1039 Pipe 这题的最优解在于最优直线至少会过两个拐点,枚举拐点对。pku 1092 Farmland 总是是过了。这题有点像找凸包,不同的是凸包是以最左下点作为参考。首先对每个顶点的邻接点排序(按极角),以源点和顶点为参照边,从小到大排序其邻接点。通过排序后各顶点的邻接点按逆时针排列。下一步就是去找所以的封闭多边形,按着从一条边以该边为轴逆时针旋转到邻近的边,由于事先对邻
2008-08-22 10:10:00
861
原创 归并排序求逆序数
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
395
原创 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
712
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
629
原创 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
499
原创 pku1177 Picture(矩形外围总周长)
这题我先是用离散化做了下,发现可以过,时间当然要久点。在离散化中有这样一个概念:超元线段。这些线段将平面分割成大小不相当(或相等)的矩形,这些矩形的边要么是给定矩形的边的一部份要么完全和给定矩形无关。我们只有按给定矩形的顶点的x坐标,y坐标分别画出垂直x轴,y轴的直线,用这些直线来分割平面,它们相交得到的线段就是超元线段。只有统计出超元线段出现的次数矩形的总周长就可以算到了。/*pku1177
2008-07-30 08:11:00
611
基于频繁增长树(FP-树)的频繁项集挖掘算法实现
2008-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人