自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 收藏
  • 关注

原创 openGL Lighting Maps

实现一些光照照射到object上的真实反射main:#include #include // GLEW#define GLEW_STATIC#include // GLFW#include // Other Libs#include // GLM Mathematics#include #include #include // Other include

2017-01-18 23:34:39 335

原创 OpenGL 每帧变化灯光的颜色

在fragment Shader里创建了两个结构体:1.Light   2.MaterialLight负责记录灯光的位置,及三种影响灯光效果的变量Material同样负责记录该Object受这三种变量影响的程度(描述可能不恰当!!!)其中ligh的成员变量t用glfwGetTime来刷新main.cpp#include #include // GLEW#d

2016-12-30 23:37:43 814

原创 openGL对光的处理

这一节主要就是对光的明暗效果的处理。最终的显示效果又由3部分共同作用:ambient + diffuse + specular而这些处理实在shader中完成的,其实主要的代码和前面基本一样,主要是修改了shader并且新添加了一个shader给光源用,以及主循环里的代码main.cpp:#include #include // GLEW#define GLEW_STAT

2016-12-27 00:22:03 553

原创 在三维空间里创建10个物体,并可以自由缩放,移动视角

继续学习OpenGL,实现了在窗口内画出了N个物体,并放置在某个3维坐标,同时添加了camera,可以自由移动camera(camera为一个FPS的camera,只能在XZ平面移动,如果想要抛开这个限制,只需在camera.h中,把position.y = 0去掉)。还有一个问题,没有解决: 如果加载的图片是一个 342 * 256 的图片,运行的时候图片会出现倾斜,变成灰色的情况?为何?

2016-12-22 00:26:01 1824

原创 openGL 创建一个旋转的简单的3D模型

正在从learning opengl学习中,再这里作一点简单的记录。.cpp文件#include // GLEW#define GLEW_STATIC#include // GLFW#include // Other Libs#include #include #include #include // Other includes#include "

2016-12-10 14:38:08 5310

原创 编写一个windows应用程序,要求在窗口的用户区中绘制一个圆 ,当单击左键时,该圆放大;单击右键时,该圆缩小;按下ctrl键时的同时鼠标移动,则该圆会随鼠标移动而移动

编写一个windows应用程序,要求在窗口的用户区中绘制一个圆 ,当单击左键时,该圆放大;单击右键时,该圆缩小;按下ctrl键时的同时鼠标移动,则该圆会随鼠标移动而移动。1.建立一个SDI,名字为MFCexp7_92.在文档类中添加一个成员    CRect m_Ell;3.在文档类的构造函数中对成员初始化CMy7_9Doc::CMy7_9Doc() :

2013-06-26 21:48:13 10730 4

原创 编写一个单文档界面应用程序,该程序在用户区能以在两个矩形的相交矩形为外接矩形画一个椭圆。

编写一个单文档界面应用程序,该程序在用户区能以在两个矩形的相交矩形为外接矩形画一个椭圆。编写一个单文档界面应用程序,该程序在用户区能以在两个矩形的相交矩形为外接矩形画一个椭圆1,建立一个名字为MFCexp5_7的单文档2,首先在View里声明两个CRect类型的变量 public:CRect m_Rect1 ,  m_Rect2;3,在Vie

2013-06-24 20:05:53 2189

原创 编写一个单文档界面应用程序,该程序可以测试在鼠标左键按下时鼠标光标的位置是否处在某规定的矩形框内,如果不在该矩形内则计算机的扬声器会发出“叮”的声音,反之则会在用户区显示光标的位置。

编写一个单文档界面应用程序,该程序可以测试在鼠标左键按下时鼠标光标的位置是否处在某规定的矩形框内,如果不在该矩形内则计算机的扬声器会发出“叮”的声音,反之则会在用户区显示光标的位置。1.建立一个名为MFCexp5_6的单文档2.现在View类里声明一个POINT类的变量和一个CRect类型的变量,也就是要求的鼠标的坐标和矩形框public:POINT m_point;C

2013-06-24 19:10:21 4520

原创 每次单击鼠标左键,出现一个随机大小的图形

首先可以在视图View类里定义4个变量 T , L , B , R( 分别代表上,左,下,右 )然后在View类的构造函数里对四个变量赋初值在View类的OnLButtonDown函数里添加代码void CMy5_1View::OnLButtonDown(UINT nFlags, CPoint point) {// TODO: Add your message hand

2013-06-24 16:29:38 2980

原创 编写一个应用程序,改程序运行后在用户区绘制一个圆形,每单击鼠标左键一次则圆的颜色变化一次

编写一个应用程序,改程序运行后在用户区绘制一个圆形,每单击鼠标左键一次则圆的颜色变化一次。设计思路:既然要变色,肯定离不开变色的取值,所以肯定要在View类里定义red , green  , blue三个变量,再定义一个m_brectRec来存储圆形的尺寸代码如下:1.在View类里定义             public:

2013-06-24 11:19:34 6438

原创 编写一个单文档应用程序,程序启动后在用户区显示一个方形,当用鼠标左键单击用户区后,该方形会变成圆形,如果再单击则又变回方形

编写一个单文档应用程序,程序启动后在用户区显示一个方形,当用鼠标左键单击用户区后,该方形会变成圆形,如果再单击则又变回方形程序设计思想:       设置一个开关变量m_bKey ,当其值为false 时,在OnDraw函数里绘制一个矩形,当其值为true时,在OnDraw函数里绘制一个圆形;       再定义一个成员变量m_brectRec存储矩形和圆形的尺寸代码如下:1.

2013-06-24 10:42:30 7384

原创 2013湘潭赛 卡片重组

一维的背包,用dp[i] 表示前i位数的最大权值,sum[i]表示前i位数的总和。转移方程为dp[i] = max( dp[i] , dp[j]+(sum[i]-sum[j])*(i-j) ),并且要分两种情况,也就是单调增和单挑减的情况讨论。卡片重组Accepted : 9 Submit : 21Time L

2013-05-17 11:13:18 706

原创 HDU 1712 ACboy needs your help

分组背包问题,具体详情见背包九讲。、ACboy needs your helpTime Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 9   Accepted Submission(s) : 6Problem Des

2013-05-11 22:46:23 1265

原创 HDU 1260 Tickets

TicketsTime Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 48   Accepted Submission(s) : 20Font: Times New Roman | Verdana | GeorgiaFo

2013-05-11 17:15:58 1139

原创 HDU 1081 To The Max

毋庸置疑,这道题想要找到答案,必须枚举出所有的情况。那么我们可以用两层for循环来枚举出第 i 行到第 j 行或者第 i 列到第 j 列的情况由于题意是按行输入,所以我们要用两层循环来提取第 i 列到第 j 列的情况,接着就要考虑行的问题了这里又要嵌套一个for循环来求出第 i 列到第 j 列( 截止到i第 k 行 )的值,也就是答案要求的值。输入的时候,我们要做一个处理,就是第K

2013-05-11 16:34:38 1526

原创 HDU 1114 Piggy-Bank ( 完全背包 )

一道典型的完全背包问题~完全背包就是把01背包的第二个for循环从小到大循环就好Piggy-BankTime Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 72   Accepted Submission(s)

2013-05-09 21:41:57 645

原创 hdu 2571 命运

动态规划题。一个格子一个格子的往后推出来就好~自己动手在草稿纸上画一画比较容易理解命运Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 71   Accepted Submission(s) : 24

2013-05-07 20:55:20 641

原创 HDU 2084 数塔

简单的动态规划的题目:从底层推上去就好数塔Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 58   Accepted Submission(s) : 44Font: Times New Roman | V

2013-05-07 19:14:31 631

原创 HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活( 多重背包 )

这是一道经典的多重背包问题。其实化解多重背包的题也只需一步,那就是如果该物品的 花费 * 数量 >= 背包容量,则按完全背包处理;否则按01背包去处理,这里可以用二进制的思想优化时间,详情见http://blog.csdn.net/sky_fighting/article/details/8789067悼念512汶川大地震遇难同胞——珍惜现在,感恩生活Tim

2013-05-07 18:58:06 815

原创 HDU 1203 I NEED A OFFER!

一道简单的01背包~刚刚起步学习背包的同学可以做一下。题意很简单,就不复述了,需要注意的一点就是,题目是要问至少获得一个offer的概率,那么你可以反过来求一个都拿不到的概率,再用1减去这个概率就是题目要的答案,这样可以简化问题。I NEED A OFFER!Time Limit : 2000/1000ms (Java/Other)   Memory Limit

2013-05-06 15:07:06 1189

原创 HDU 1087 Super Jumping! Jumping! Jumping!

Super Jumping! Jumping! Jumping!Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 93   Accepted Submission(s) : 41Font: Times New Roman

2013-05-05 10:40:13 1780

原创 HDU 1003 Max sum

Max SumTime Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 184   Accepted Submission(s) : 59Font: Times New Roman | Verdana | GeorgiaF

2013-05-05 09:51:56 612

原创 HDU 1284 钱币兑换问题

钱币兑换问题                                                          Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

2013-05-04 22:52:10 3692

原创 HDU 2602 Bone Collector( 01背包 )

一道简单的01背包问题Bone Collector                                                       Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

2013-05-04 22:29:25 536

原创 关于STL中的map用法

STL中map用法详解    std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下std map内部

2013-04-28 20:46:16 605

原创 HDU 1016 Prime Ring Problem

题意:给你一个N,要你把1->N这N个数组成一个环(第一个放的必须是1),要求是相邻的两个数加起来必须是素数( 素数环 ),而且最后一个和第一个同样要保持这个性质 思路: 记忆化搜索                                   Prime Ring Problem                                             T

2013-04-25 19:52:25 474

原创 快速排序

快速排序是分治策略的一个应用。算法思想就是基准元素的划分,这点可以参考书上的分析。主要给出快速排序算法的分析:快速排序算法的时间主要耗费在划分操作上,并与划分是否平衡密切相关。对于长度为n的待排序序列,一次划分算法Partition需要堆整个待排序序列扫描一遍,其所需要的计算时间显然为O(n)。下面从三种情况来讨论一下快速排序算法的时间复杂度。(1)最坏时间复杂度最坏情况是

2013-04-25 16:19:13 550

原创 HDU 4472 Count

CountTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 383    Accepted Submission(s): 246Problem DescriptionProf. Tigris is the head o

2013-04-23 23:00:28 1061

原创 HDU 1036 Average is not Fast Enough!

这道题是一个sscanf()的用法~范例             #include             main()             {             int i;             unsigned int j;             char input[ ]=”10 0x1b aaaaaaaa bbbbbbbb”;

2013-04-22 22:20:39 1015

原创 HDU 1033 Edge

题目看到蛋碎也没看懂啊~                                          Edge                                Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

2013-04-22 21:21:07 681

原创 POJ 2031 Building a Space Station

这道题也是一个求最短路的简单问题题意:在一个三位平面上有几个球体,然后输入数据是给你N个球的球心坐标,以及半径。科学家们想要实现各个球之间的接触,也就是有表面的接触。            当然,两个球之间可能会有相交的地方( dis(a,b)  同时这道题也发现了一点G++和C++的区别,算是一个细节吧。数据位double类型的时候,用G++的时候scanf要用%lf,而pr

2013-04-22 19:51:04 2277

原创 POJ 1789 Truck History

我只能说,题目描述的好像蛮厉害的样子~其实还只是一个prim的模板题~Orz题意:给你N个字符串,每个字符串都只有7位,每两个字符串会有一个“距离”,所谓的距离就是从0号位---6号位,一一对应过去,有1个字符不一样就+1.所以距离就是两个字符串的距离就是【0,7】,这样就可以把每两个字符串的距离算出来,而且第一个字符串不是派生出来的,所以就可以从第一个走起,建一个最小生成树。

2013-04-21 21:25:24 583

原创 POJ 1861 Network

好吧,这道题的sample是错误的。。。就是一个求最短路的问题,直接Kruskal的模板搞起  #include #include #include #include using namespace std;const int M = 25003;int n,m;int father[M];int num[M];struct node{

2013-04-20 23:13:27 526

原创 poj 2349 Arctic Network

这道题的题意貌似有点小难啊~题目大意:一个组织要实现几个outposts(后称岗哨)之间的通信,每两个岗哨之间有transceiver(后称接收器)且距离少于D便可以实现通信。我们要分清接收器(S)和岗哨(P),我的目的就是求出那个可以实现所有岗哨之间相互通信的最小的D。其实岗哨数就是连通分支的个数,有多少个岗哨,就可以有多少个连通分支。这样每去 掉一条边,我们就多了一个分支。那么

2013-04-20 23:09:09 985

原创 The Little Girl who Picks Mushrooms

其实,我只想说这道题好坑~~不过也怪自己陷进去了,哎~悲剧啊!其实这道题就是一个简单的模拟题,唯一需要注意的就是0%1204==0 ,1024%1024==0,这里特判一下就好,然后就是那个奇耻无比的坑,他说前三个要3个包加起来是千克的整数倍,也就是1024的整数倍,那么0也算!!!!3个0也可以过这关!!!坑啊!!!其他的就简单了

2013-04-18 17:31:56 778

原创 HDU 2133 What day is it

What day is itTime Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2705    Accepted Submission(s): 792Problem DescriptionToday is Satur

2013-04-16 22:22:29 895

原创 HDU 2137 circumgyrate the string

把题意搞懂,就是一个字符串的旋转,然后模拟一遍就好~                                                                                                           circumgyrate the string

2013-04-16 22:16:31 1002

原创 HDU 2136 Largest prime factor

首先,不要把题意搞错,这是一道痕水的题,并不是求到第1000000个素数,而是只要处理到1000000;并记录出不是素数的素因数,这一步在求素数的时候便可以顺便处理出来                               Largest prime factorTime Limit: 5000/1000 MS (Java/Others)    Memory Limit: 3

2013-04-16 22:13:22 592

原创 HUT G - QS Network

话说我这道题觉得用一个简单的Dijkstra写是错误的,但还是抱着试一下的心态提交了代码,结果却A了,不甘心呐因为题意是要求从一个点散发出消息,直到所有的点都收到,如果用最小生成树写的话,那样我觉得不一定就是最小的花费啊。因为如果此时并不是所有的点都收到消息,那么收到的消息的点还要继续散发消息,所以最小生成树不一定是最小花费吧,求大神解答啊Orz~

2013-04-14 22:02:46 891

原创 HUT F - Constructing Roads

继续最短路模板题额。。只是多了一个条件就是有些路是已经修好的,那么只要把修好的路之间的距离设为0,再Dijkstra一遍就出答案~                                                               Constructing Time Limit:2000MS    Memory Limit:65536KB     6

2013-04-14 21:58:28 794

空空如也

空空如也

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

TA关注的人

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