<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sing Melody</title><link>https://blog.singmelody.com</link><description>个人技术博客</description><item><title>centos mac安装Oh My Zsh</title><link>https://blog.singmelody.com/posts/centos-mac安装oh-my-zsh</link><guid>https://blog.singmelody.com/posts/centos-mac安装oh-my-zsh</guid><description>用 Oh My Zsh 和 zsh-autosuggestions 插件解决命令行历史搜索与高亮提示，告别重复敲命令。</description><pubDate>Thu, 16 Aug 2018 19:27:53 GMT</pubDate></item><item><title>ACM与偏见</title><link>https://blog.singmelody.com/posts/acm与偏见</link><guid>https://blog.singmelody.com/posts/acm与偏见</guid><description>在这段时间学习ACM之前我对ACM有着很深的偏见。 因为我总是感觉ACM学到的东西很少，代码太短，感觉更像奥数，不像程序。但一周以来我发现我很多地方都错了。而且周围人让我感觉像是”趋之若鹜“的感觉，更是让我坚定了这个想法。但一段的学习之后，我真的发现我之前对ACM的偏见很深。 ACM并不在于你的程序到未来是否有用，而在于你解决问题的态度。只有勇于解决，感觉解决，深入解决问题的态度，才能更好，更快的解决问题。 对于图像处理，游戏策略，结点</description><pubDate>Tue, 22 Mar 2011 20:04:21 GMT</pubDate></item><item><title>关于素数算法总结</title><link>https://blog.singmelody.com/posts/关于素数算法总结</link><guid>https://blog.singmelody.com/posts/关于素数算法总结</guid><description>本文参考地址： http://www.kuqin.com/math/20071231/3269.html http://hi.baidu.com/sulipol/blog/item/c6dd6c171eb81258f2de3270.html 判断素数 ：时间复杂度O(sqrt(n)/2), 速度提高O((n-sqrt(n))/2). bool isprime( int num ) { int i ; int sq; if (num &lt;=</description><pubDate>Tue, 22 Mar 2011 13:17:58 GMT</pubDate></item><item><title>memset() 函数总结</title><link>https://blog.singmelody.com/posts/memset-函数总结</link><guid>https://blog.singmelody.com/posts/memset-函数总结</guid><description>函数原型: void *memset( void *dest, int c, size_t count ); 头文件： &lt;memory.h&gt; or &lt;string.h&gt; dest 指针地址 c 欲给元素设定的字符 博主注：要是填x，我们就会将数组初始化为(int)16843009*x.... 所以我们可以将数组初始化为最大值，或者最小值。。 当x=127时，这时候初始化的值就接近INT_MAX 当x=128时，这时候初始化的值就接近IN</description><pubDate>Mon, 21 Mar 2011 17:17:11 GMT</pubDate></item><item><title>各种排序算法总结</title><link>https://blog.singmelody.com/posts/各种排序算法总结</link><guid>https://blog.singmelody.com/posts/各种排序算法总结</guid><description>插入类 将无序子序列中的一个或几个记录“插入”到有序序列中，从而增加记录的有序子序列的长度； 交换类 通过“交换”无序序列中的记录从而得到其中关键字最小或最大的记录，并将它加入到有序子序列中，以此方法增加记录的有序子序列的长度; 选择类 从记录的无序子序列中“选择”关键字最小或最大的记录，并将它加入到有序子序列中，以此方法增加记录的有序子序列的长度; 归并类 通过“归并”两个或两个以上的记录有序子序列，逐步增加记录有序序列的长度; 默认</description><pubDate>Mon, 21 Mar 2011 15:16:52 GMT</pubDate></item><item><title>贪心算法总结</title><link>https://blog.singmelody.com/posts/贪心算法总结</link><guid>https://blog.singmelody.com/posts/贪心算法总结</guid><description>会场安排问题 时间限制：3000 ms | 内存限制：65535 KB 描述 学校的小礼堂每天都会有许多活动，有时间这些活动的计划时间会发生冲突，需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动，每个时间最多安排一个活动。现在小刘有一些活动计划的时间表，他想尽可能的安排更多的活动，请问他该如何安排。 输入 第一行是一个整型数m(m&lt;100)表示共有m组测试数据。 每组测试数据的第一行是一个整数n(1&lt;n&lt;10000)表示该</description><pubDate>Mon, 21 Mar 2011 09:01:03 GMT</pubDate></item><item><title>同余定理总结</title><link>https://blog.singmelody.com/posts/同余定理总结</link><guid>https://blog.singmelody.com/posts/同余定理总结</guid><description>【例1】 （北大附中入学测试题 ）有一个自然数，用它分别去除63 ，90 ，130 都有余数，这三个余数的和是25 。这三个余数中最大的一个是多少？ 答：63%kx + 90%kx + 130%kx = 25 (63+90+130)%kx = 25 283%kx=25 kx = 283-25 = 258 258 = 2*3*43 组和起来就是 2 3 43 6 86 129 258 2 3 6明显不满足 ，86 129 256 都大于 </description><pubDate>Sat, 19 Mar 2011 18:53:38 GMT</pubDate></item><item><title>对于很久不动题的感想</title><link>https://blog.singmelody.com/posts/对于很久不动题的感想</link><guid>https://blog.singmelody.com/posts/对于很久不动题的感想</guid><description>今天在AC一道题的时，翻出自己半年前的代码。 发现自己完全找不到头脑+思路。感觉这代码完全像是某个别的某个人写的。 所以养成良好的注释习惯是十分重要的。 不仅在ACM的代码中，如果做网站或者是做大型项目。做注释的重要性就可以完全的体现出来了。 而且做注释还有一很重要的作用就是在一段时间后，回看自己的代码。可以感觉到自己写的有些程序会造成时间或空间复杂度的冗余。有良好的注释习惯，可以再很大程度上可以有再修改程序的机会。而这种机会是可以很大</description><pubDate>Sat, 19 Mar 2011 12:53:14 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第九小节 中文翻译 添加线框模式和点模式</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第九小节-中文翻译-添加线框模式</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第九小节-中文翻译-添加线框模式</guid><description>Adding wireframe and point render mode 【 添加线框模式和点模式 】 In a previous chapter, that is, Chapter 3, Camera, Light, and Shadow, we used the R key to change the render mode to wireframe or point rendering. We want to add this</description><pubDate>Thu, 17 Mar 2011 15:33:15 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第八小节 中文翻译 鼠标状态</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第八小节-中文翻译-鼠标状态</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第八小节-中文翻译-鼠标状态</guid><description>Mouse state 【 鼠标状态 】 Querying the keyboard state was done using the isKeyDown() function. To get the mouse state, we used the getMouseState() function. This function returns a mouse state struct as an instance of the Mou</description><pubDate>Tue, 15 Mar 2011 15:41:19 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第七小节 中文翻译 添加摄像机</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第七小节-中文翻译-添加摄像机</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第七小节-中文翻译-添加摄像机</guid><description>Adding a camera 【 添加一个摄像机 】 We have our Escape key back and we can move Sinbad. Now it&apos;s time to get our camera working again. 【 我们】 Time for action – making the camera work again 【 实践时刻 —— 让我们的摄像机再次工作 】 We have already </description><pubDate>Sun, 13 Mar 2011 13:18:32 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第六章翻译目录</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第六章翻译目录</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第六章翻译目录</guid><description></description><pubDate>Sat, 12 Mar 2011 01:42:55 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第六小节 中文翻译  给模型添加动作</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第六小节-中文翻译-给模型添加动</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第六小节-中文翻译-给模型添加动</guid><description>Adding movement to the model 【 给模型添加动作 】 Now that we have the possibility to get user input, let&apos;s use it to control Sinbad&apos;s movement on the plane. 【 现在我们已经有能力获取用户的输入，现在让我们使用它来控制Sinbad的在平面上的运动吧。】 Time for action – contr</description><pubDate>Fri, 11 Mar 2011 12:36:04 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第六小节 中文翻译 窗口句柄</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第六小节-中文翻译</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第六小节-中文翻译</guid><description>Window handle 【 窗口句柄 】 A window handle is simply a number that is used as an identifier for a certain window. This number is created by the operating system and each window has a unique handle. The input system needs thi</description><pubDate>Thu, 10 Mar 2011 15:05:45 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第五小节 中文翻译 添加输入支持</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第五小节-中文翻译-添加输入支持</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第五小节-中文翻译-添加输入支持</guid><description>Adding input support 【 添加输入支持 】 We now have a moving scene, but we would like to be able to exit our application like before. Therefore, we are now going to add input support, and when Escape is pressed, we exit our appl</description><pubDate>Wed, 09 Mar 2011 12:58:21 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第四小节 中文翻译 修改代码使其代替基于每帧的运动为基于时间的运动</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第四小节-中文翻译-修改代码使其</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第四小节-中文翻译-修改代码使其</guid><description>Modifying the code to be time based rather than frame based 【 修改代码使其代替基于每帧的运动为基于时间的运动 】 Depending on your computer, the model in the scene might be moving quite fast or quite slow or just at the right speed. The reason f</description><pubDate>Tue, 08 Mar 2011 05:14:42 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第三小节 中文翻译 帧监听</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第三小节-中文翻译</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第三小节-中文翻译</guid><description>FrameListener 【 帧监听 】 The new concept we have encountered here is the concept of FrameListeners. As the name suggests, a FrameListener is based on the observer pattern. We can add a class instance which inherits from the</description><pubDate>Mon, 07 Mar 2011 05:18:45 GMT</pubDate></item><item><title>关于帧缓存与OpenGL的帧缓存操作 glClearColor,glClear,glClearDepth</title><link>https://blog.singmelody.com/posts/关于帧缓存与opengl的帧缓存操作-glclearcolorglclearglcleardepth</link><guid>https://blog.singmelody.com/posts/关于帧缓存与opengl的帧缓存操作-glclearcolorglclearglcleardepth</guid><description>参考文献地址一： http://baike.baidu.com/view/1040793.htm 参考文献地址二： http://y150988451.javaeye.com/blog/812899 帧缓存 帧缓冲存储器(Frame Buffer)：简称帧缓存或显存，它是屏幕所显示画面的一个直接映象，又称为位映射图(Bit Map)或光栅。帧缓存的每一存储单元对应屏幕上的一个像素，整个帧缓存对应一帧图像。 一个支持OpenGL渲染的窗口</description><pubDate>Sun, 06 Mar 2011 13:56:11 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第五章 翻译目录</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第五章-翻译目录</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第五章-翻译目录</guid><description></description><pubDate>Sat, 05 Mar 2011 13:58:19 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第二小节 中文翻译 添加运动到场景之中</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第二小节-中文翻译-添加运动到场</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第二小节-中文翻译-添加运动到场</guid><description>Adding movement to the scene 【 添加运动到场景之中 】 We have created our scene; now let&apos;s add movement to the scene. 【 我们已经创建了场景；现在让我们把运动添加进场景中。】 Time for action – adding movement to the scene 【 实践时刻 —— 添加运动到场景中 】 Up until now, we</description><pubDate>Fri, 04 Mar 2011 03:29:22 GMT</pubDate></item><item><title>判断鼠标和键盘按键的释放与否</title><link>https://blog.singmelody.com/posts/判断鼠标和键盘按键的释放与否</link><guid>https://blog.singmelody.com/posts/判断鼠标和键盘按键的释放与否</guid><description>mMouse-&gt;capture(); mKeyboard-&gt;capture(); bool currMouse = mMouse&gt;getMouseState().buttonDown(OIS::MB_Left); if (currMouse &amp;&amp; ! mMouseDown) { //action } mMouseDown = currMouse; 键盘同理</description><pubDate>Thu, 03 Mar 2011 06:45:41 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 翻译目录</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-翻译目录</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-翻译目录</guid><description>第一节： http://www.singmelody.com/?p=482 第二节： http://www.singmelody.com/?p=493 第三节： http://www.singmelody.com/?p=505 第四节: http://www.singmelody.com/?p=513 第五节： http://www.singmelody.com/?p=513 第六节： http://www.singmelody.com</description><pubDate>Thu, 03 Mar 2011 06:06:04 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第四章 第一小节 中文翻译 准备一个场景</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第一小节-中文翻译-准备一个场景</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第四章-第一小节-中文翻译-准备一个场景</guid><description>4 Getting User Input and Using the Frame Listener 【 第四章 获取用户输入和使用帧监听 】 Until now, we always created scenes which were static and didn&apos;t have anything moving in them. We will change this with this chapter. 【 迄今为止，我们总是创建静止</description><pubDate>Thu, 03 Mar 2011 06:05:18 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第三章 第八小节 中文翻译 创建一个视口</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第三章-第八小节-中文翻译-创建一个摄像</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第三章-第八小节-中文翻译-创建一个摄像</guid><description>Creating a viewport 【 创建一个视口 】 Entwined with the concept of a camera is the concept of a viewport. So we will also create our own viewport. A viewport is a 2D surface which is used for rendering. We can think of it as th</description><pubDate>Wed, 02 Mar 2011 11:33:11 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第三章 第七小节 中文翻译 创建一个摄像机</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第三章-第七小节-中文翻译-创建一个摄像</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第三章-第七小节-中文翻译-创建一个摄像</guid><description>Creating a camera 【 创建一个摄像机 】 So far, we have always used a camera that was created for use by the ExampleApplication. Now let&apos;s create one for ourselves. A camera, as the name suggests, captures a part of our scene from</description><pubDate>Tue, 01 Mar 2011 05:47:13 GMT</pubDate></item><item><title>关于“或上一个增量链接没有生成它；正在执行完全链接”</title><link>https://blog.singmelody.com/posts/关于-或上一个增量链接没有生成它-正在执行完</link><guid>https://blog.singmelody.com/posts/关于-或上一个增量链接没有生成它-正在执行完</guid><description>【转自：】 http://1985wanggang.blog.163.com/blog/static/776383320091129114153117/ 今天在编译一个程序的时候，总是出现“或上一个增量链接没有生成它；正在执行完全链接”这样的错误，到Debug目录中始终找不到生成的程序，但是在VS2008中调试执行的时候还能通过，百思不得其解。到网上查了半天也没有一个人清晰的解答出来，而且很多人都是说了一半就不说了。感觉起来应该是一个比</description><pubDate>Sun, 27 Feb 2011 18:06:41 GMT</pubDate></item><item><title>ogre 3d 1.7 beginner’s guide 第三章 第六小节 中文翻译 添加阴影</title><link>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第三章-第六小节-中文翻译-添加阴影</link><guid>https://blog.singmelody.com/posts/ogre-3d-1-7-beginner-s-guide-第三章-第六小节-中文翻译-添加阴影</guid><description>Adding shadows 【 添加阴影 】 Without shadows, a 3D scene isn&apos;t really complete; so let&apos;s add them. 【 一个没有阴影的3D场景不是真正完整的3D场景。因此，让我们添加它们 】 Time for action – adding shadows 【 实践时刻 】 Use the previously used code. 【 使用之前已使用过的代码】 1</description><pubDate>Sun, 27 Feb 2011 16:20:01 GMT</pubDate></item><item><title>关于stringstream的str方法</title><link>https://blog.singmelody.com/posts/关于stringstream的str方法</link><guid>https://blog.singmelody.com/posts/关于stringstream的str方法</guid><description>关于基础的stringstream使用参照 http://www.singmelody.com/?p=459 stringstream的str方法： 官方解释： http://www.cplusplus.com/reference/iostream/stringstream/str/ string str ( ) const; void str ( const string &amp; s ); Get/set the associated s</description><pubDate>Sat, 26 Feb 2011 16:22:26 GMT</pubDate></item><item><title>使用stringstream对象简化类型转换</title><link>https://blog.singmelody.com/posts/使用stringstream对象简化类型转换</link><guid>https://blog.singmelody.com/posts/使用stringstream对象简化类型转换</guid><description>【本文来自】 http://www.cppblog.com/Sandywin/archive/2007/07/13/27984.html 使用stringstream对象简化类型转换 C++标准库中的提供了比ANSI C的更高级的一些功能，即单纯性、类型安全和可扩展性。在本文中，我将展示怎样使用这些库来实现安全和自动的类型转换。 为什么要学习 如果你已习惯了风格的转换，也许你首先会问：为什么要花额外的精力来学习基于的类型转换呢？也许对下</description><pubDate>Sat, 26 Feb 2011 15:49:16 GMT</pubDate></item><item><title>c++ override(重写)，overload(重载)与虚函数的使用技巧</title><link>https://blog.singmelody.com/posts/虚函数-c-override重写与overload重载</link><guid>https://blog.singmelody.com/posts/虚函数-c-override重写与overload重载</guid><description>第一部分转自地址一： http://hi.baidu.com/xifengtang/blog/item/cab327954f0a0a007af4804b.html 第二部分转自：我也想知道是转自哪位牛人的博客-_- 部分一: C++是一门magic的语言，很多机制复杂得让人头疼，但是这种迷宫竞走的状态让人精力十足，我发誓了，不搞明白不罢休，同时也希望得到高手们的指点和帮助～ override 函数名和参数类型以及返回类型必须相同，即签名</description><pubDate>Fri, 25 Feb 2011 16:58:33 GMT</pubDate></item></channel></rss>