- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 opengl3 PointSprite及在粒子系统中的使用
点精灵介绍是指在绘制时一个精灵用一个点来表示,通常将一个点的size变大,就变成了矩形,然后将纹理映射到点上初步使用glPointSize(10.0f);....glDrawArrays(GL_POINTS,0,cnt);vertex saderuniform mat4 mvp;layout(location = 0) in vec4 position;void main(){ g
2015-12-08 22:06:43
1011
原创 emacs org mode 表格使用
org-mode 是emacs的非常方便的GTD,笔记….模式,在org-mode中使用表格也是非常的方便,效果美观,特将摸索过程记录,以便将来查看表格的自动生成只要你打一个| 就代表一列,然后按下C-c C-c 或者Ret 或者 TAB,即可自动调整表格 表格内容与表头分界线的生成,输入|-,然后自动生成表格的调整与控制表格内容的排列(aligh)在i行j列的表格内容是< c >的话,那
2015-08-13 21:10:44
7915
2
原创 递归函数的非递归化
昨天做usaco的一道题,把递归函数非递归化看看对效率的提升,对如何转化,做了一些尝试。理解递归过程递归是函数调用自己本身,每调用一次自己,就进入一个新的堆栈帧 非递归化通过观察递归的过程,我们知道这是通过堆栈来实现的,那么非递归化,就是 我们手动构造一个堆栈,在一次函数过程中模拟递归。既然我们构造堆栈,堆栈要保存什么信息? 保存函数的局部变量,及执行到的语句。堆栈的维护 每调用一次函数,相
2015-08-02 21:27:40
1093
原创 由一个内存错误发现的cocos2dx 引擎3.4版本的 一个bug
错误症状最近做实训cocos2dx项目的TA,一个同学在场景切换时遇到如下问题,场景B->C,C->B,B->C,然后场景C->B,返回场景B时程序就崩溃了 #### 主要涉及代码“` bool StartScene::init() { if (!Scene::init()) return false; MenuItemFont *skipMe
2015-07-16 15:44:28
676
原创 Latex listings 宏包排版代码
使用:在导言区使用 \usepackage{listings} 然后在正文里 \begin{lstlisting}// your code//for(;;)\end{lstlisting} 配置主要设置一些排版效果: 在导言区中使用 \lstset{}环境设置 可设置语言类型,是否显示行号,边框,边框效果,高亮,特殊字符等等 具体参阅listings宏包文档示例 \lst
2015-06-28 20:12:46
5508
原创 codevs 1380 没有上司的舞会(树形dp)
树形dp经典题的稍微变化题目Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起与会。思路:dp[i][0] 代表i不去,i为根子树的最大欢乐度 dp[i][1] 代表i去,i子树的最大欢乐度i是叶子:dp[i][0] = 0
2015-06-11 21:27:51
474
原创 leetcode sqrt
这题是给出一个x,求平方根。 一种直接二分,一种牛顿迭代求不动点。 二分:class Solution {public: bool isAns(long long r, long long x) { if (r*r<=x && (r + 1)*(r + 1)>x) return true; return false;
2015-06-11 10:37:50
390
原创 MAC 下编写opengl3+程序
mac os10.7 之后就开始支持opengl 3.2的语法,但opengl3.3+在10.9才开始支持,当然具体支持的扩展是何显卡有关的,可以参考Apple官方说明 最近在mac和windows两边写opengl代码,但由于mac原本只支持2.1,所以两边写不同的语法,让我很苦恼,而且在mac上无法学习一些较新的教程,在搜索了和踩了一些坑之后,终于实现在mac上编写opengl 3+ 程序.正
2015-06-04 21:08:56
2675
1
原创 opengl光照 Blinn-Phone模型与实现
这里介绍的方法,考察从光源发出的光线,这些光线与物体表面相互作用进行建模,这个方法和光线追踪类似,但是只考虑光源与表面之间的一次相互作用。Phone 模型phone模型如图所示,使用图示的l,n,r,v四个向量来计算任意点p得颜色值: l是光源入射的方向反向 n是p点得法线方向 r是反射光线方向 v是观察者所在方向,主要考察光源与材质的三种相互作用 环境光反射,漫反射和镜面反射环境光
2015-05-31 20:24:06
5001
原创 LRU缓存替换算法介绍与编程实现
介绍缓存中容量是有限的,当要查找的数据不在缓存中时,我们要用新数据替换掉 部分原有得数据,有很多种替换策略,lru就是最近最少使用的被替换,我们想要 将来被使用的数据保留下来,但我们不知道将来会使用那些数据,就按照最近使用数据近似将来也会使用的数据。原理我们要如何体现最近最少使用呢?采用一个队列,新加入的数据和上次使用过 的数据放到队列头,要替换时从队列尾删除数据 我的编程实现在实际实现中,
2015-05-22 20:22:58
3592
原创 Latex页面格式等定制
Latex页面格式等定制Latex页面格式等定制页面大小设置页面格式设置章节标题设置关于图表引用定制说明页面大小设置通常使用geometry宏包,它可以设置版心和纸张边界的距离\usepackage[a4paper,left=3cm,right=3cm]{geometry}效果如下: 设置前: 设置后: 使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等
2015-05-05 01:46:49
4993
原创 重学c语言系列四--变量在内存中的布局(二)
接着上篇文章,我们大致了解内存被分成几个部分之后,就实际实验一下吧,我拿前面说过的变量文章里的例子代码:#include#define YES 1//extern int extern_var ; extern reall_extern_var ; int golbal_var=3;int golbao_var2;int main(){ //extern int
2014-05-22 02:26:38
936
原创 重学c语言系列二---(变量)
在C语言中,对变量的存储类型说明有以下四种:auto 自动变量register 寄存器变量extern 外部变量static 静态变量 自动变量和寄存器变量属于动态存储方式,外部变量和静态变量属于静态存储方式。按作用域又可分为全局变量和局部变量自动(auto)变量C语言规定, 函数内凡未加存储类型说明的变量均视为自动变量, 也就是说
2014-03-14 02:39:05
902
2
原创 重学c语言系列一(gcc编译过程)
此系列文章的目的:1.希望能够掌握之前理解不清楚和根本没有掌握的知识点 2 也算是一次复习,拓实基础,为笔试面试做准备吧GCC 编译分为4个部分,预编译,编译,汇编,链接假设源文件:test.c预处理: 命令如下: gcc -E test.c -o test.i 参数-
2014-03-12 21:37:13
1133
原创 2014 ICM C题拓扑图的实现
说明:此为建模过程中画图所作的记录,不具其它意义1. ucent画拓扑图(可以做数据分析) data菜单/import text file菜单/raw file 选项可以读取邻接矩阵,不需要表头,自动为点标号 会将你的原数据生成相应格式的文件,分别以##h,##d结尾 然后用netdraw file菜单/open选项/ucient dataset选
2014-03-06 01:16:11
3112
2
原创 tikz画拓扑图
节点定义,\node,各个节点的位置是参照某个其它节点的,所以顺序要弄好,按照参照的顺序写代码\node[main node] (8) [ left of=1] {8}; 那么第一个8是节点编号,就是节点的指代,第二个8 (中括号中的)是节点圆圈里的内容,可以不受限制,填字母什么边的定义:一条1号节点指向11号节点(1) edge node [left] {} (11) le
2014-03-01 22:46:57
3642
原创 matlab画图集锦
plot函数(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m× n 矩阵时,就由n 条曲线。(2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以
2014-01-27 16:57:28
1238
原创 matlab小问题记录(不断更新)
x.与x的区别x如果是一个数,x.与x没有区别;当x是一个矩阵时,二者运算不同了举例,x=[1 ,1;2,2] x.^2=[1,1;4,4] x^2=[3,3;6,6]不带点是矩阵相乘,带点是对应元素相乘
2014-01-27 11:14:03
857
原创 latex tips
使用如下代码即可:\documentclass[A4paper]{article} \usepackage{pdfpages} \begin{document} \includepdf[nup=1x1, delta=0mm 0mm,scale=1,pages={17-26}]{a.pdf} \includepdf[nup=1x1, delta=0mm 0mm,scale=
2014-01-25 11:45:44
1370
原创 latex图表
latex表格3线表需要宏包:\usepackage{booktabs}为了色彩需要,使用了如下宏包:colortbl,xcolor颜色说明:\definecolor{spec}{rgb}{.121,.562,.996}\begin{tabular}{ccc}\arrayrulecolor{spec}\toprule[1.5pt]Destination Subnet &
2014-01-25 11:33:54
3328
原创 DFA和NFA识别串的两道编程题
题目描述: 根据DFA特点: (1)没有空串上的转换 (2)对于任意状态s,和输入符号a,只有一条标号为a的边离开s 那么只要构造好状态转换表,那么只要判断转化后的最终判断是不是接受状态就可以了 #include#include#include#includeusing namespace std;#define N 51#define M 27
2013-11-08 15:09:50
1654
原创 MD5的C++实现
MD5 简介 对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。在MD5算法中,首先需要对信息进行填充,使其位长对512求余的结果等于448。因此,信息的位长(Bits Length)将被扩展至N*512+448,N为
2013-10-28 01:20:57
1095
2
原创 uva 106 Fermat vs. Pythagoras (勾股数组性质的研究)
思路解释: 主要是根据定理来求素勾股数,然后对每一组勾股数乘以相应系数,就得到所有勾股数详细解释 若果 a, b, c 三者互质(它们的最大公因数是 1),它们就称为素勾股数。 以下的方法可用来找出素勾股数。设 m > n 、 m 和 n 均是正整数, b= m^2 − n^
2013-10-26 04:01:08
720
原创 soj 1509 rails 栈的应用
思路说明: 这一题就是给定一个1~N排列,判定是否是1~n输入序列的出栈序列,其中1~n可以任意时刻出栈入栈,也是黑书上一道例题吧详细解释: 对输入序列从头开始检索,fp是输入序列的下标,rp是输出序列的下标,并且新建一个栈 if( fp==rp) fp++,rp++; else{ while( !st.empty() && s
2013-10-25 02:21:03
1038
1
原创 soj 1152,1153 马的周游问题
思路说明: 运用回溯的思想,搜索马的移动,加速得到解,选择的时候优先子选择数目少的位置,即拐角处详细解释: 马的移动和走迷宫一样的枚举#include#include#include#include#include#includeusing namespace std;typedef struct posi{
2013-10-21 01:40:40
1066
2
原创 uva 108 Maximum Sum 最大子矩阵和
思路说明: 简单的说求最大子矩阵和,先将矩阵转化为一维,然后在一维区间上求最大子区间和详细解释: 子矩阵在列上可以变化,行上也可以变化 先假定只可以在行上变化,那么我们要看的就是所有1*k,2*k,3*k,......k*k的矩阵 1*k的矩阵有k个,2*k的矩阵
2013-10-20 02:52:57
747
原创 hdu 1003 Max Sum
思路说明: 这是一道简单却有点意思的题(虽然我WA了好几次),只要你知道dp,最核心的求最大子段和就解决了 动态转移方程是sum[j]=max(sum[j-1]+a[j],a[j])详细解释: sum[j]表示从0到j,最大连续子段和,直接的想就是前面的和小于0的话,子段就重新开始了,和前面没有关系了
2013-10-20 02:21:06
681
原创 不好好读书,将来连表都不认识
群里朋友发了张图片,就说了句与标题相同的话,唉,汗颜啊发现自己确实有一些不认识,感叹学了不短时间的计算机,知识面还是窄于是查了一下资料,把这个作为自己不足的警示吧1点钟 Legendre常数 其中B是一个常数,称为勒让德常数。他估计B大约为1.08366,但不管它的值是什么,只要它存在,就证明了素数定理。 后来高斯也对素数进
2013-10-19 14:11:03
1132
1
原创 猜生日
hasekell编程作业想不下去,就打算换个事做做,写一篇博文吧。在群里,一个家伙提出了这个题目,说是微软面试题,但是没有思路,就拿过来看看题目如下:小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?3月4日 3月5日 3月8日6月4日
2013-10-19 01:27:21
1052
原创 sicily 1024 Magic Island
思路说明: 遍历一个树,得到树上的最长路径详细解释: 定义一个struct,三个int分别表示起点,终点,权值 树的表示,用vector数组,vector[i]表示以第i点为起点的边的集合 某个点可能和多个点相连,要计算比较最大值易错点: 节点访问的标记位置个人心得: vector数组,可以用下标访问,以前学过,用
2013-10-19 01:22:21
776
原创 sicily 1050 Numbers & Letters
思路说明: 回溯的思想,5个数,先任意找2个数进行加减乘除,把这2个数运算后的结果当做一个数,按相同的方法搜下去 把4个数任取2个然后合并成3个,再继续搜下去 详细解释: 任意找两个数,两重for循环,得到所有可能情况 保存中间结果,在dfs函数里,新建立一个长度5的int数组,其中第0位保存中间结果,其它依次保存选取两个数后剩下来的数 其中dfs时
2013-10-19 00:53:04
931
2
conky配置,含clockface,openlogos,poky等字体
2013-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人