自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 copy一个比较好的优先队列dijkstra算法模板

/*Dijkstra的算法思想:在所有没有访问过的结点中选出dis(s,x)值最小的x对从x出发的所有边(x,y),更新dis(s,y)=min(dis(s,y),dis(s,x)+dis(x,y))*/#include #include #include #include using namespace std;const int Ni = 10000

2015-06-01 22:15:24 561

转载 Bitmap

所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 位图是一种很特殊的数据结构,可以利用位图来排序,但是这种排序方法对输入的数据是有比较严格的要求(数据不能重复,大致知道数据的范围)。来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些

2015-04-13 23:22:07 424

转载 法线向量为什么要乘以模型视图矩阵的逆转置矩阵

许多计算都在眼睛坐标系中完成,一个常用的就是光照需要在这个空间中实现,因为眼睛位置决定了光照效果,否则的话,很难实现镜面光。因此我们需要将法线坐标转换到眼睛坐标系中。在OpenGL ES 2.0中,将一个顶点转换至眼睛坐标系中,通过:vertexEyeSpace = view_Matrix * rm_vertex;那为什么我们不能像法线向量一样做同样的工作呢?首先法线向量是3个fl

2015-04-04 17:16:36 2356

转载 depth test与blend(深度测试与混合)

OpenGL中的blend在开启后,可以让开启后绘制的图形与已经绘制在帧缓存中的图形做混合,例如,先绘制a,然后开启混合,定义混合方式为使用各自的alpha,然后绘制b,那么结果应该是a与b重合的地方为两者的颜色融合效果。   但是我今天在这个地方犯了一个错误,我先绘制一个a,然后开启混合,然后在a的后面绘制了b,结果没有出现混合效果,而只是绘制了a。我后来才明白原来在opengl中深度测

2015-04-01 16:52:54 1966

转载 C/C++中volatile关键字详解

1. 为什么用volatile?    C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明:A volatile specifier is a hint to a compiler th

2015-03-27 16:42:58 375

转载 最长回文子串

最长回文子串是最初我在网易笔试的时候遇见的,当时天真的把原字符串S倒转过来成为S‘,以为这样就将问题转化成为了求S和S’的最长公共子串的问题,而这个问题是典型的DP问题,我也在前面的文章中介绍了3中解决这个问题的方法。但是非常可惜,后来才知道这个算法是不完善的。那么到底为什么呢?听我慢慢道来。S=“c a b a”  那么  S' = “a b a c”, 这样的情况下 S和 S‘的最长公

2015-03-25 23:18:30 377

转载 计数排序

计数排序,传说时间复杂度为0(n)的排序计数排序:今天学习了计数排序,貌似计数排序的复杂度为o(n)。很强大。他的基本思路为:1.       我们希望能线性的时间复杂度排序,如果一个一个比较,显然是不实际的,书上也在决策树模型中论证了,比较排序的情况为nlogn的复杂度。2.       既然不能一个一个比较,我们想到一个办法,就是如果我在排序的时候就知道他的位置

2015-03-23 17:32:44 322

转载 字典树

字典树(讲解+模版)又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。   字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一

2015-03-13 21:53:51 328

转载 哈希树

在各种介绍里的都比较抽象,其实没有那么难,这里进行一个最简单的说明。       在将一个数进行哈希的时候,我曾经写过关于哈希的这么些东西:对于数,当一个质数不够用的时候,可以加上第二个质数,用两个mod来确定该数据在库中的位置。那么这里需要简单的解释一下,对于一个质数x,它的mod有[ 0 .. x - 1 ] x种;所以对于两个质数x和y,能存储的无一重复的数据有 x *y 个,其实也

2015-03-13 20:58:17 436

转载 使用(x&y) + ((x^y)>>1) 求平均数

在一个面试题里见到这么一道题:下面的代码:int func (int x, int y){   return (x&y) + ((x^y)>>1);}当 x 为 729,y 为 271 时函数的返回值是多少?思路最简单也最直接的就是将 x 和 y 都先转换为二进制,然后老老实实的做按位与,按位异或等运算,最后得出结果。在分析该表达式的实现思路之前,首

2015-02-13 12:47:42 464

转载 KMP算法

KMP字符串模式匹配详解来自优快云     A_B_C_ABC 网友KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一.  简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int po

2015-02-04 21:04:34 387

原创 pat1068 01背包 排序+打印路径

#include#include#include#includeusing namespace std;int N, M;int dp[10000+5][100+5];int v[10000 + 5];int main(){    scanf("%d %d",&N,&M);    for(int i = 1; i     sort(v+1, v +1

2014-11-27 22:06:24 439

原创 pat1067 考察了逆向思维

#include#include#includeusing namespace std;int pos[100000 + 5];int N,ans=0,correct=0;set S;//存储当前位置不对的int main(){    scanf("%d",&N);    for (int i = 0; i         int num;  

2014-11-27 20:55:01 475

原创 pat1081 学习下strtok_r()对分隔字符串的处理(当然不用也行,scanf读取时加控制符)

#include #include #include #include #include constint MAXN=105;using namespace std;char s[MAXN*100];int N;typedef long long LL;LL numerators[MAXN],denominators[MA

2014-11-24 15:18:35 498

原创 uva 12563 两个最优条件的01背包,用个结构体处理

#include #include constint MAXN=60;int N,T,t[MAXN];struct Node{   int time;   int num;    bool operator > (constNode& other)const{       return num>other.num||(nu

2014-11-18 14:23:15 436

原创 uva 1025 dag,从当前状态开开始的最优值,

#include #include const int INF=0x7fffffff;const int maxn=440;int min(int a,int b){return aint N,T,M1,M2;int t[maxn];bool has_train[maxn][maxn][2];int main() {    int _case=0;   

2014-11-16 18:27:46 492

原创 uva548 比较经典的知道两种遍历序列构造二叉树,注意后面的dfs的回溯

#include #include #include #include using namespace std;string line;int in_order[10010],post_order[10010];struct Node{   Node* left;   Node* right;   int v;};No

2014-11-01 14:24:23 591

原创 uva122 数组表示二叉树,bfs

一道用数组表示二叉树的例题,不断WA,

2014-10-26 15:03:39 752

原创 maven远程部署tomcat

mapom.xml:plugin>groupId>org.apache.tomcat.mavengroupId>artifactId>tomcat7-maven-pluginartifactId>configuration>url>http://localhost:8080/manager/texturl>username>adminuserna

2014-10-10 18:46:12 446

转载 strcpy函数的实现(注意内存重叠)

大家一般认为名不见经传strcpy函数实现不是很难,流行的strcpy函数写法是:[cpp] view plaincopychar *my_strcpy(char *dst,const char *src)  {      assert(dst != NULL);      assert(src != NULL);      

2014-10-10 00:31:25 5838

原创 cstring

char s[]="abc";//char *p="ab"c;

2014-10-08 16:33:12 395

转载 block 存储循环

什么是block?代码块:{}里的东西block可以想id一样装到array里,dictionary里。。。但是不能对他发送消息。 nsdictionary 里有一个方法:enumerateKeysAndObjectUsingBlock:^(id key,id value,BOOL *stop)这个方法遍历dictionary里的东西,直到*stop = YES为止。 

2014-10-07 21:27:20 458

原创 uva10048 dijsktra(改变松弛条件)

当然这题用dijkstra#include #include #include #include #include #include #define INF 0X7FFFFFFFusing namespace std;int C,S,Q;struct Edge{    int u,v,w;};struct Node{    int w

2014-10-04 19:39:42 466

原创 uva247 传递闭包

#include #include #include #include #include #include #include using namespace std;int n,m;char name1[30],name2[30];mapstring, int> stoiMap;mapint, string> itosMap;//表示i到j是

2014-10-04 18:02:24 621

原创 hdu 1874 dijsktra(mlogn) +bellmanford

#include #include #include #include #include using namespace std;int N,M,S,T;struct Edge{    int u,v,w;};struct Node{    int w,u;    Node(int _w,int _u):w(_w),u(_u){}   

2014-10-03 19:03:33 463

转载 afnetworking

AFNetworking是一个讨人喜欢的网络库,适用于iOS以及Mac OS X. 它构建于在NSURLConnection, NSOperation, 以及其他熟悉的Foundation技术之上. 它拥有良好的架构,丰富的api,以及模块化构建方式,使得使用起来非常轻松.例如,他可以使用很轻松的方式从一个url来得到json数据:1NSURL *url = [NSURL URLW

2014-08-16 23:50:27 387

转载 实现tomcat启动时自动运行代码

方法1:tomcat 自动执行servlet写一个servlet,在init()方法中写好想要执行的程序,程序如下:eclipse新建一个web\Dynamic Web Project , name = myweb1 , 把tomcat中的 servlet-api.jar复制到lib中,新建一个类MyServlet.java, 继承 javax.servlet.HttpServlet,代码

2014-08-15 09:43:58 584

转载 String与Date(java.util.Date)互转

1.1 String -> Date Java代码  String dateStr = "2010/05/04 12:34:23";          Date date = new Date();          //注意format的格式要与日期String的格式相匹配          DateFormat sdf = new SimpleD

2014-08-14 22:41:53 498

转载 多种mimetype总结

我们在做文件上传和下载时,常常要用到以下mimeType,下面列出来供参考        '.a'      : 'application/octet-stream',        '.ai'     : 'application/postscript',        '.aif'    : 'audio/x-aiff',        '.aifc'   : 'audio

2014-08-11 00:15:15 1166

转载 MKNetworkKit 简单实例

常用框架比如:AFNetworking,ASIHttpRequest,SDWebImage,MKNetWorKit等。iOS5已出来这么久了,而ASIHttpRequest的作者已经申明不更新了,在iOS5环境下,其实还是有些问题的。现在MKNetWorkKi吸取了ASIHttpRequest与AFNetWorking的优点,并加入了自己特有的功能。下载:gitHu

2014-08-10 23:37:07 529

转载 mac 添加环境变量

1,打开 应用程序 -> 实用工具 -> 终端; 2,在终端中定位到自己用户的主目录,输入: cd ~ ;  3,创建一个空文件,输入:touch .bash_profile ; 4,编辑这个文件,输入:open .bash_profile ; 5,在这个文件中输入:export PATH=${PATH}: ;(将""替换成自己想要的目录)export PA

2014-07-29 10:53:05 355

转载 Qt mysql操作

Qt中MySQl命令 (2012-08-21 15:00:43)标签: 杂谈分类: MySQL数据库.连接MySql数据库QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost");db.setDatabaseN

2014-07-16 20:55:36 1387

转载 cocos2dx屏幕适配

屏幕适配在前几篇博文里,我们已经完成了一个打气球的游戏,可以开始可以结束。但是却还够不上打包给别人当demo看的水准。因为我们的游戏没有做屏幕适配,在480,X320以外的机器上就不能看了。先看一下完成屏幕适配后的效果:1. 分辨率960X640(iphone4)2. 分辨率1024X768(ipad)3.分辨率1136X640(iphone

2014-07-15 20:59:03 872

转载 ios学习框架图

2014-07-11 15:57:26 469

转载 mac svn服务器搭建

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。我们首先来看下,如何在Mac环境下搭建svn服务器端环境。回到顶部一、创建代码仓库,用来存储客户端所上传的代码我先在/User/apple目录下新建

2014-07-10 18:15:46 593

转载 cocos2d-x3.0 新的物理引擎之详解setCategoryBitmask()、setContactTestBitmask()、setCollisionBitmask()

我在编写游戏的时候遇到了这个问题,  物理引擎其他的内容还好理解,  就这三个函数就是没找到有人详细的解释一下。  我不知道这个都没弄明白,游戏是怎么做出来的。那我就不吐糟了,      下面的所有内容都是我的个人推断。不知道正不正确。    反正我目前是这么理解的。我们先来看看这三个函数的定义:/**     * A mask that defines w

2014-07-09 10:14:41 960

转载 std::function与std::bind 函数指针

function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。std::function可以绑定到全局函数/类静态成员函数(类静态成员函数与全局函数没有区别),如果要绑定到类的非静态成员函数,则需要使用std::bind。[cpp] view plaincopy

2014-06-27 16:58:39 459

转载 c语言宏定义

一、#define的基本用法    #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析

2014-06-13 21:18:59 500

转载 cocos2dx内存管理

cocos2dx的内存管理移植自Objective-C, 对于没有接触过OC的C++开发人员来说是挺迷惑的。不深入理解内存管理是无法写出好的C++程序的,我用OC和cocos2dx也有一段时间了,在此总结一下,希望对想用cocos2dx开发游戏的朋友有所帮助。C++的动态内存管理一般建议遵循谁申请谁释放的原则,即谁通过new操作符创建了对象,谁就负责通过delete来释放对象。如果对象

2014-06-12 12:08:28 404

原创 为什么dijkstra算法处理不了带有负权值的边的图

采用dijkstra算法处理带有负权边的图时有可能出现这样一种情况:因为dijsktra算法每一次j

2014-05-27 10:53:10 9834 4

空空如也

空空如也

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

TA关注的人

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