自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凌风

迎风的方向飞翔……

  • 博客(232)
  • 资源 (8)
  • 收藏
  • 关注

原创 leetcode1305,All Elements in Two Binary Search Trees

leetcode 1305题Given two binary search trees root1 and root2.Return a list containing all the integers from both trees sorted in ascending order.Example 1:Input: root1 = [2,1,4], root2 = [1,0,3]Ou...

2020-01-25 15:13:42 479

原创 Binary Tree Postorder Traversal

Given a binary tree, return the postorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3},   1    \     2    /   3return [3,2,1].Note: Recursive solution is tr

2015-12-21 00:07:41 1487

原创 Zonal harmonic 拟合 Spherical harmonic

LDPRT实现过程中的核心内容就是用一些列的Zonal harmonic 来拟合已知的Spherical harmonic,拟合过程用到了LBFGS来优化最小能量。由于最近比较忙,暂时在这里占位,本文会讲解Zonal harmonic 来拟合 Spherical harmonic的详细过程,项目已上传本人github。

2015-11-09 20:22:35 1675

原创 shadow map + vsm 总结

以前写了shadow map实现的注意事项,这篇文章吧shadow map 和 vsm放在一块总结一下。占位。

2015-10-25 11:03:07 1969

原创 manacher算法求最长回文串

求最长回文串可以使用manacher算法来达到O(n)时间内得出结果,之所以降到O(n)是因为减少了很多重复匹配。思路如下:1.把所有字符串都变成奇数个字母的串,方法很简单,就是在所有字母前后加一个特殊字符,比如常用’#’,这样长度为n的串就变成了长度为2*n+1的串,即奇数串,然后在为了在代码中减少边界的判断,分别在首位加另外的特殊字符,一般在首部加个’$’,而尾部自然用字符串的结尾标志’\0’即

2015-09-10 19:27:53 1552

原创 SSAO + FXAA

现在已经完成了渲染器的屏幕空间环境光遮挡(SSAO)算法和FXAA快速反走样算法,等有时间就把其中的相关原理和其中遇到的问题进行总结发表。

2015-07-15 11:01:16 2367

原创 ios平台中glsl中shadow2DProjEXT函数的简单说明以及变换矩阵的小注意点

一.shadow2DProjEXT函数需要传入一张深度纹理和一个点的坐标(4维)1.这里首先注意的是这张纹理必须使用采样器类型为sampler2DShadow才可以,直接使用sampler2D是不行的,会出错。2.深度纹理必须设置正确的格式GL_DEPTH_COMPONENT,另外要指定相应的比较函数,可以通过glTexParameteri来设置GL_TEXTURE_COMPARE_FUN

2015-06-19 15:58:11 2406

原创 shadow mapping实现动态shadow实现记录

前段时间一直在弄一个室内场景,首先完成了render,效果还可以。然后给其加上shadow,使其更逼真。这里主要记录下在做的过程中遇到的问题。 1.是在导入场景的时候,由于场景比较大(200M)左右,所以在ios上加载这么大的场景会频繁的memorywarning,然后就会被系统kill掉。这个问题的解决方法是通过改变数据类型来达到压缩的目的。顶点的坐标double是没法改变的,如果改变会

2015-05-18 20:51:48 2374

原创 opengl中深度冲突问题以及几种可能的解决方案

opengl中遮挡关系是通过z缓冲区+深度测试来实现的,而z缓冲区一般都有位数限制,通常为24位,也有32位。这样在进行遮挡查询的时候,如果两个面距离非常近的话,那么这两个面的z值就可能会由于非常小而产生交替出现的现象,称为z-fighting,这就严重影响渲染质量。通常的解决方法:1.最常用的就是使用glPolygonOffset函数,对于两个非常近的面或者model我们可以将其分开

2015-04-04 16:21:05 3757

原创 opengl 绘制简单的带纹理贴图的立方体

#include #include #include #include #include #include #include "ourProgram.h"#include "SOIL.h"using namespace std;int main(){ glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);

2015-03-29 13:00:30 8195 1

原创 opengl使用现在比较常用的方法来绘制简单几何图元

上一篇文章中也使用了比较老的方法glBegin 和 glEnd的方法来绘制了简单的集合图元,现在使用比较新的而且更高效的方法来绘制简单的集合图元。这种方法与以前方法的不同点在对数据的处理上,glBegin 和 glEnd是要给出数据,然后直接来进行绘制,然而新的方法是现将数据保存到显存中,然后直接一个绘制命令,就可以直接从显卡内存中直接读取数据进行绘制,效率更高而且更方便。#include

2015-03-11 10:44:44 1973

原创 简单一个opengl程序,2D图形移动

很早打算系统的学习一下opengl,但是由于课程以及学习算法占据了时间,一直没能开始,现在这段时间开始弄opengl了,这几天看正在看《Opengl 变成指南 第8版》,首先看了GLSL写shader。这里先使用固定管线写个简单的小例子试试,然后开始进行可编程管线。这个小例子很简单,就是在2D平面画个正方形,然后左右移动。思路很简单,主要是两个函数,draw 和 move,draw负责绘制

2015-02-13 22:08:15 6375

原创 HDU 1005 Number Sequence

Number SequenceTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 114142    Accepted Submission(s): 27730Problem DescriptionA numbe

2015-01-25 00:48:20 1301

原创 HDU 3342 Legal or Not

在一个群里面,大家互相请教问题,比如A请教B,我们就把B叫做师傅,把A叫做徒弟,这样会产生很多“师傅——徒弟”的关系,一个徒弟可以有很多的师傅,一个师傅也可以有很多徒弟,这是合法的,但是不能出现A是B的师傅而且B是A的师傅,或者A是B的徒弟而且B是A的徒弟,或者在一个更大的关系环里面出现这种情况。很明显题目的意思就是,判断一个给定的有向图中是否存在环。了解了这些,解题方法就非常简单了,那就是直接进

2015-01-24 23:40:33 1920

原创 HDU 2586 How far away ?

How far away ?Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6309    Accepted Submission(s): 2368Problem DescriptionThere are n

2015-01-24 00:38:35 3662 1

原创 HDU 1162 Eddy's picture(图论-最小生成树)

题目如下:Eddy's pictureTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7267    Accepted Submission(s): 3676Problem Description

2015-01-11 17:37:58 1770

原创 HDU 1269 迷宫城堡(强连通图的判定)

最近《算法导论》快看完图论部分了,很多有关图的算法都彻底搞懂并加以证明了。现在主要是将理解的思想用到题目中来加强下。这个题目主要是判断一下整个图是否是强连通的,很简单,可以用tarjan也可以用kosaraju。因为不要求找出所有的强连通分量,所以这里只是借用了kosaraju的思想,然后本题的解答简化的异常简单。迷宫城堡Time Limit: 2000/1000 MS (

2015-01-06 12:42:09 5365

原创 cv-拉普拉斯算子锐化浅析

图像锐化处理的主要目的是突出图像中的细节或者增强被模糊了的细节,这种模糊一般由于错误操作或者是特殊图像获取方法的影响导致的。图像锐化的方法有很多,这里主要说下微分算子的方法来进行图像的锐化处理。总的来说,微分算子的响应强度与图像在该点(应用了算子)的突变程度有关。数学中的微分描述的是连续函数关于各个变量的变化。但是在图像中,是以众多像素点来组成整张图片,所以,虽然图像有两个方向:水平方向(x方

2014-12-11 17:44:10 12384 3

原创 CV最简单的分类算法——knn(k nearest neighbors)

邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法可以说是整个数据挖掘分类技术中最简单的方法了。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用她最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或

2014-12-06 17:02:04 8160

原创 三维CAD建模——基于半边数据结构的基本欧拉操作建模

三维CAD建模——基于半边数据结构的基本欧拉操作建模(elar, B_REP)(欧拉操作 三维CAD建模课 三维CAD建模 高曙明老师 渲染框架 brep 带洞 带柄 B_REP brep elar 扫成 扫成操作)今年选了高老师的三维CAD建模课,zju选了这课应该就知道最后要做一个程序作业——基于半边数据结构的基本欧拉操作实现建模。要求必须建带有洞的模型。(欧拉操作 ...

2014-11-17 15:36:05 8298 1

原创 类继承时函数掩盖盖问题

正常情况下我们可以通过使用相同的函数名而不同的参数或者返回值类型等因素来实现函数重载。但是在le

2014-09-17 21:26:41 2097 1

原创 PAT 1039 Course List for Student (模拟)

1039. Course List for Student (25)时间限制200 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueZhejiang University has 40000 stud

2014-09-14 21:14:08 3536 5

原创 关注C++细节——动态生成对象初始化细节

①T *p =new T;②T *p =new T();这两类用法不同点的总结。 1.若T为类类型,且用户定义了构造函数,则两种形式的效果完全相同,都会调用这个定义了的构造函数来初始化内部成员变量,但是如果此构造函数中并未对成员变量初始化,则这个时候内部的成员变量进行默认初始化——值是未定义的。2.若T为类类型,但是用户并没有定义任何构造函数,则我们可以知道编译器会为该类合成一

2014-08-16 14:27:33 3316 6

原创 有序容器自主定义排序器

STL中的set和map是有序容器,使用时如果希望根据自己的需要来设定排序器,通常有一下两种方式。1.如果容器中直接存储对象的话,那么我们可以在对象类中重载2.如果存储的不是直接对象的话比如对象的指针(通常为智能指针),这个时候我们就要定义自己的比较器。而比较器的写法一般有两种。 ->1.类内重载函数调用运算符的方法。 ->2.以函数的方式提供比较器。对于第一种方法是非

2014-08-07 20:58:52 2836 1

原创 空闲时间用C语言写了下2048游戏

本身这个游戏逻辑挺简单的,所以,不多说了,直接上代码吧玩法说明:编译运行后,输入一个整数n,表示自己想玩的游戏中是n*n的表格,现在手机上或者电脑上一般都是4*4的,所以我们可以输入4,回车就可以开始游戏了。游戏开始后a s d w表示方向左 下 右 上四个方向。正如真实版的2048一样,会输出两个表格,move 表格显示按输入方向平移后的结果,fill 表格显示又随机填充一个...

2014-07-30 14:37:16 14165 33

原创 自写打印日历类

在论坛上看到有人在问打印日历的程序,今天下午空闲的时候写了一个日历类,简单的写了几个方法。calendar.h#include using namespace std;#ifndef CALENDAR_H#define CALENDAR_Hclass Calendar{public: Calendar(){} void printAllMonth(const

2014-07-02 21:32:15 1590

原创 关注C++细节——含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、赋值运算符的例子

本例只是对含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、复制运算符使用方法的一个简单示例,以加深对构造函数和拷贝控制成员的理解。读C++ primer 5th 第13章后加上自己的理解,完整的写了下课后习题的代码。第一版:#include #include using namespace std;class TreeNode{private: stri

2014-06-27 16:07:21 4343 5

原创 在重载运算符时,类的对象可以直接访问私有成员解惑

以前对这里确实有点疑惑,但是最近在看

2014-06-26 16:47:47 5084 4

原创 mysql的安装、C++访问mysql数据库、编码设置问题

一.mysql的安装,这个相对简单,直接去官网下载mysql安装程序,就可以完成安装过程,网上有很多安装教程,这个没什么注意事项。二、C++访问mysql,主要是用到mysql定义的头文件,内部定义了各种数据结构和函数,比如MYSQL,MYSQL_RES,MYSQL_ROW,mysql_real_connect等等一系列的结构和函数。这里要注意的就是将头文件及lib文件以及dll文件配置...

2014-06-21 17:30:34 6882

原创 HDU 2617 Happy 2009(字符串)

Happy 2009Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2394    Accepted Submission(s): 802Problem DescriptionNo matter you kn

2014-06-11 21:19:14 1649

原创 HDU 1176 免费馅饼 (DP)

免费馅饼Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 24440    Accepted Submission(s): 8264Problem Description都说天上不会掉馅饼,但有一天gamebo

2014-06-10 15:09:57 3387

原创 HDU 2048 数塔(DP)

数塔Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 20786    Accepted Submission(s): 12486Problem Description在讲述DP算法的时候,一个经典的例子就是数

2014-06-10 13:22:47 5319

原创 HDU 1073 Online Judge(字符串)

Online JudgeTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4977    Accepted Submission(s): 1889Problem DescriptionIgnatius is b

2014-06-09 20:55:41 2081

原创 HDU 1709 The Balance (母函数)

题意:给定一系列重量的砝码,然后问由这些砝码不能称出的重量有多少,并且打印这些重量,重量范围为1-s其中s为所有砝码的质量总和。值得注意的是这个题目中的砝码可以在天平两遍都放。所以母函数完了,要记得考虑一下两遍放的情况。最后将这些不能称取的重量输出就可以了。我这里的做法麻烦了,因为只要求重量能否称出,而不需要计算有多少种称出方法,所以不用考虑砝码重量重复的情况,即无需用hash的方法把重量处理。直接正常的读入然后母函数就可以了,过几天会修改下。

2014-06-09 16:12:01 2672

原创 HDU 1102 Constructing Roads (裸的并查集)

leetcode并查集题目Constructing RoadsTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13210Accepted Submission(s): 4995Problem D...

2014-06-07 19:55:30 2136

原创 vs下动态链接库文件的创建以及动态链接库在程序中使用

要创建动态链接库文件(dll),就要先建立一个动态链接库工程。

2014-06-04 20:15:43 1420

原创 关注C++细节——C++11新标准之decltype的使用注意

c++11新特性——decltype decltype是C++11添加的一个新的关键字,目的是选择并返回操作数的数据类型,重要的是,在此过程中编译器分析表达式并得到它的类型,却不实际计算表达式的值。对于内置类型的对象,使用decltype很直观,但当参数为复合类型的时候就应该注意一些使用细节问题。

2014-05-31 13:17:21 19434 1

原创 vs2008内存泄露检测得到完美解决

YES,it's so easy,what we need to do is just include <vld.h>,then the information of memory leaking will be shown on the screen.

2014-05-30 10:16:22 2491

原创 关注C++细节——字面值初始化字符数组及字符串拷贝注意

char carr[] = "author:CSDN-iaccepted"; 此时,carr数组中元素的个数为21,最后一个位置用来存放空字符'\0'。所以如果写成carr[21] = "author:CSDN-iaccepted";就是错误的。int clen = strlen(carr);int size = sizeof(carr);这时候得到的clen =

2014-05-23 10:59:56 3841 1

原创 OpenGL单缓冲与双缓冲的区别

OpenGL单缓冲与双缓冲的区别:单缓冲,实际上就是将所有的绘图指令在窗口上执行,就是直接在窗口上绘图,这样的绘图效率是比较慢的,如果使用单缓冲,而电脑比较慢,pingm双缓冲,实际上的绘图指令是在一个缓冲区完成,这里的绘图非常的快,在绘图指令完成之后,再通过交换指令把完成的图形立即显示在屏幕上,这就避免了出现绘图的不完整,同时效率很高。一般用OpenGL绘图都是用双缓冲,单缓冲一

2014-05-22 13:34:31 2454

三维CAD建模——基于半边数据结构的基本欧拉操作建模

三维CAD建模——基于半边数据结构的基本欧拉操作建模,主要是学完高老师的三维CAD建模课自己实现的作业。 完整给出了半边数据结构的定义,以及欧拉操作的完整实现。

2014-11-17

visual leak detector(内存泄露检测工具)

非常好用的内存泄露检测工具,安装文件仅1M大小,源代码开放,visual leak detector

2014-05-30

visual leak detector 内存泄露检测工具

非常好用的内存泄露检测工具,只需不到1M的安装空间,即可在代码中进行检测内存泄露问题。

2014-05-30

dom4j解析xml使用的jar包

dom4j解析xml使用的jar包,能高效的解析XML文件,支持复杂xml文件的解析 dom4j解析xml使用的jar包,能高效的解析XML文件,支持复杂xml文件的解析 dom4j解析xml使用的jar包,能高效的解析XML文件,支持复杂xml文件的解析 dom4j解析xml使用的jar包,能高效的解析XML文件,支持复杂xml文件的解析 dom4j解析xml使用的jar包,能高效的解析XML文件,支持复杂xml文件的解析 dom4j解析xml使用的jar包,能高效的解析XML文件,支持复杂xml文件的解析

2014-05-21

c++ xml解析工具——tinyxml

小巧实用的c++ xml解析工具类——tinyxml,非常好用

2013-04-25

TinyXML——类库+doc

个人感觉tinyxml还是一个不错的xml解析器,用起来也比较方便。

2013-04-25

QT多文档编辑器

自己写了一个QT小程序--多文档编辑器,功能比较全,供大家交流学习,由于本软件由个人开发,bug和改进之处不可避免,希望大家不吝赐教,邮箱:[email protected],现在为windows版本,如果需要linux版本会在明后天提供。

2012-02-12

谷歌杯2011 上海复旦邀请赛problems

谷歌杯2011上海复旦邀请赛题目。 今年谷歌上海复旦邀请赛题目,感觉很好,同大家分享下。

2011-08-19

空空如也

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

TA关注的人

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