自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(116)
  • 资源 (2)
  • 收藏
  • 关注

原创 编程之美2.8 找符合条件的整数

书上面讲的很好,程序也写得很巧妙,

2014-11-09 21:45:01 445

原创 leetcode:Recover Binary Search Tree

Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing its structure.Note:A solution using O(n) space is pretty straight forward. Could you devis

2014-12-22 23:12:19 468

原创 leetcode:Validate Binary Search Tree

Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys less than the node's key.Th

2014-12-22 17:40:30 463

原创 leetcode : Interleaving String(DFS 和 DP)

Interleaving String Total Accepted: 21379 Total Submissions: 107884My SubmissionsQuestion Solution Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.

2014-12-22 10:32:17 525

原创 OpenCV 2.4.8版本中添加的库名称

Debug版本的库:opencv_calib3d248d.libopencv_contrib248d.libopencv_core248d.libopencv_features2d248d.libopencv_flann248d.libopencv_gpu248d.libopencv_highgui248d.libopencv_imgproc248d.libop

2014-12-21 10:51:00 636

原创 二分查找,找到第一个符合条件的数字

下面的二分查找用于找到第一个符合条件的数字,如果

2014-10-23 22:35:44 1517

原创 leetcode :Find Minimum in Rotated Sorted Array

Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Find the minimum element.You may assume no duplicate exists in

2014-10-18 18:55:18 509

原创 LeetCode : Multiply Strings 一种比较快速的方法

Multiply Strings Total Accepted: 10282 Total Submissions: 50489My SubmissionsGiven two numbers represented as strings, return multiplication of the numbers as a string.Note: The number

2014-07-26 22:46:17 538

原创 LeetCode : Combination Sum

题目:Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.The same repeated number may be chosen from C unlimited n

2014-07-20 16:36:42 428

转载 Shader and Program编程基本概念

一、本文关注的问题:• Shader and program 对象介绍• 创建并编译一个Shader对象• 创建并链接一个Program对象• 获取并设置uniforms• 获取并设置attributes      在OpenGL ES中,每个program对象有且仅有一个Vertex Shader对象和一个Fragment Shader对象连接到它。 

2014-07-15 15:57:59 376

原创 Leetcode : Search in Rotated Sorted Array

yuanti Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If found in the arra

2014-07-15 10:51:32 434

原创 Leetcode Sqrt(x):牛顿迭代法和Quake-III中的神奇方法

关于牛顿迭代法就不多介绍了,

2014-07-12 22:08:49 775

原创 OpenGL编程中遇到的两个问题

第一个问题:写了一个简单的程序,结果系统提示:

2014-07-07 21:14:30 578

原创 LeetCode :Letter Combinations of a Phone Number

原文参考地址:

2014-07-06 12:33:37 402

原创 LeetCode :Single Number II

这个题目的意思是:一个数组中所有的数字除了一个数字只出现一次外,其他的

2014-07-06 09:46:49 467

转载 进线程, 进线程句柄, 进线程ID, 句柄与ID间转换, 伪句柄, 伪句柄转为句柄

原文请参考:http://www.cnblogs.com/zhcncn/articles/2781333.html

2014-05-25 20:34:05 588

转载 win32多线程编程

一、问题的提出编写一个耗时的单线程程序:  新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: void CSingleThreadDlg::OnSleepSixSecond() { Sleep(

2014-05-13 10:57:50 515

原创 九度OJ 1532:棋盘寻宝扩展

题目描述:现在有一个8*8的棋盘,上面放着64个不同价值的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0小于100),一个人初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角。从棋盘的左上角移动到右下角的时候的,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,但是拿到的所有的礼物的价值之和不大于一个限定值limit,请设计一个算

2014-04-29 20:48:28 520

原创 九度OJ 1531:货币面值

题目描述:小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问题吧。输入:输入包含多个测试用例,每组测试用例的第一行输入一个整数N(N输出:对于每组测试用例,输出一

2014-04-27 09:25:36 546

原创 九度OJ 1529:棋盘寻宝

题目描述:现在有一个8*8的棋盘,上面放着64个价值不等的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0小于1000),一个人的初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角,请设计一个算法使其能够获得最大价值的礼物。输入:输入包含多个测试用例,每个测试用例共有8行8列,第i行的第j列的数字代表了该处棋

2014-04-26 19:36:42 446

原创 并查集与路径压缩

在并查集中我们先定义数组Tree[N],

2014-04-26 19:25:32 400

原创 九度OJ 题目1526:朋友圈(并查集)

题目描述:假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。假如:n = 5 , m = 3 , r = {{1 , 2} , {2 , 3} , {4 , 5}},表示有5个人,1和2是好友,2和3是好友,4和5是好友,则1、2、3属于一个朋友圈,4、5属于另一个

2014-04-26 19:10:01 777

原创 OpenGL提示“pixel format with necessary capabilities not found”

出现这个问题的原因是:在main函数中将glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE)写成了glutInitDisplayMode(GL_RGB|GLUT_SINGLE);

2014-04-15 16:22:08 1089

原创 杭电OJ 1026:Ignatius and the Princess I

比较麻烦的一道题目,自己刚开始思路不清楚,

2014-04-06 10:59:27 704

原创 杭电OJ 1098:Ignatius's puzzle

这个题目的难点不是编程,而是数学。f(x)=5*x^13+13*x^5+k*a*x=x(5*x^12+13*x^4+k*a),这个函数的形式直接就是费马小定理的形式费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p) 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1对f(x)=x(

2014-04-03 10:50:56 617

原创 杭电OJ 1011:Starship Troopers

这是一道树形DP问题,答案是参考网上的。第一次接触到这种题目,没什么头绪,看到别人的解答后豁然开朗。 有 n(1典型的树上背包问题定义状态 f[u][P] 表示用 P 个士兵占领以 u 为根节点的子树所能获得的概率最大值,状态转移就是一个树形DP过程,目标状态就是 f[1][m]。f[u][p] = max {f[u][p], f[u][p - k] + f[v][k] };其

2014-04-01 16:18:08 693

原创 题目1370:数组中出校次数超过一半的数字

题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。输入:每个测试案例包括2行:第一行输入一个整数n(1第二行输入n个整数,表示数组中的每个元素,这n个整数的范围是[1,1000000000]。输出:对应每个测试案例

2014-03-29 16:17:01 490

原创 杭电OJ 1014:Uniform Generator

比较简单的一个题目,要注意输出的格式(对其格式以及空格等问题),附上AC代码:#include int main(){ int a,b,r,m,n; while(scanf("%d%d",&a,&b)!=EOF){ m = a;n = b; if(a < b){ a += b;b = a -b;a -= b; } while(b > 0){ r = a %

2014-03-29 15:56:44 593

原创 杭电OJ:1010 Tempter of the Bone

这是一道搜索的题目,题目很常规,需要注意的是剪枝函数,如果剪纸剪的不好就很容易超时。AC代码:#include char maze[8][8];int n,m,t;bool success;int go[][2]={ 1,0, -1,0, 0,1, 0,-1};void DFS(int x,int y,int time){ for(int i=0;i<4;i++){

2014-03-29 15:40:02 734

原创 杭电OJ 1007:Quoit Design

这个一个经典的利用分治算法解决的问题,这个题目其实是要求平面上很多点中距离最近的两个点的距离的一半(半径)。解决这个问题的思路是:(1)对所有的点按照x坐标从小到大排序。(2)按照x坐标将所有的点一分为二,分为左边的一半和右边一半。(2)分别求出左边一半和右边的一半的点的最小距离,假设最小距离分别为minl和minr。取minValue=min(minl,minr)。(3)对从low到

2014-03-29 09:06:14 758

原创 杭电OJ 1438:钥匙计数之一

这个题目主要是数学推理。假设one[i],two[i],three[i],four[i]分别表示一共有i个槽的情况下第一个槽为1、2、3、4的情况,Lock[i]表示有i个槽的情况下锁匙的个数,容易得到Lock[i] = one[i] + two[i] + three[i] + four[i]。另外可以知道one[i]和four[i]的情况是一样多的,因为对于所有的第一个槽为1的合法情况,如果

2014-03-27 21:58:30 602

原创 杭电OJ 1381 :Crazy Search

这个题目不难,主要是看一下map的用法和string类的构造函数的使用。C++代码:#include #include #include #include using namespace std;int main(){ int T,N,NC; string text; map Stat;//定义map对象 cin>>T; while(T--){ cin>>N>>NC

2014-03-26 17:35:19 578

原创 杭电OJ 1207 :汉诺塔II

虽然本题只是在原来的汉诺塔的基础上增加了一个柱子,但是不能根据先将上面的n-2个圆盘通过C和D移动到B上,然后再将第n-1个盘子移动到C上,接着讲最后一个圆盘移动到D上(假设D是最终的位置),最后将上面的n-2个圆盘通过A ,C移动到D上,所以一共需要F[n]=2*F[n-2] + 3步;当nhttp://www.cnblogs.com/fanzhidongyzby/archive/2012/07

2014-03-25 11:03:13 941

原创 杭电OJ 1030:Delta-wave

这是一个完全的数学题目,主要是找规律。仔细研究可以找到如下规律:1.关于给定一个n,求其所在的层。 1层:1个数,2层:3,3层:5,4层:7,……(等差,d = 2,a1 = 1,Sn = (a1 + an)/2 = n^2) 看最右边斜列1,4,9,16,……皆为平方数。 所以n所在的层为:ceil(sqrt(n))2.关于网上的左右斜列(或斜行)。

2014-03-25 09:06:16 524

原创 杭电OJ 1023:Train Problem II

这个题目其实就是计算卡特兰数,但是由于数字比较大所以要用到大数运算,下面的大数代码是别人写的,自己懒得写了。#include #define MAX 54void Multiple(int n,int* des){ int i,k,temp1,temp2; temp1 = 0; for(k=MAX-1;!des[k];k--); for(i=0;i<=k;i++){ temp

2014-03-24 10:38:01 629

原创 杭电OJ 1022:Train Problem I

这个题目主要就是模拟出栈和入栈,其实不难就是有点麻烦。话不多说,直接上代码:#include #include using namespace std;int main(){ int n;int in[10],out[10];stack S; int result[20];char t1[10],t2[10]; while(scanf("%d\n",&n)!=EOF){ whi

2014-03-24 09:41:57 464

原创 杭电OJ 1027:Ignatius and the Princess II

题目的大意就是求一串数字的全排列的第m小的排列,比如1,2,3是3个数的最小的全排列,1,3,2是次小的全排列。这个题目可以用STL的一个函数next_permutation,这个函数是用来生成一个全排列的下一个全排列,当然也可以自己写生成排列算法,生成一个全排列的下一个全排列的算法如下:(1)从数组最后一个开始往前找,假设后一个记为p,前一个记为pre,直到找到一个满足A[pre](2)

2014-03-23 14:32:17 692

原创 和为S的两个数字

题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输入:每个测试案例包括两行:第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和。其中1 第二行包含n个整数,每个数组均为int类型。输出:对应每个测试案例,输出两个数,小的先输出。如果找不到,则输出“-1 -1”

2014-03-15 23:24:27 473

原创 杭电OJ 1220:Cube

这纯粹是一道数学题目,推理如下: 给你一个正方体,切割成单位体积的小正方体,求所有公共顶点数<=2的小正方体的对数。公共点的数目只可能有:0,1,2,4.很明显我们用总的对数减掉有四个公共点的对数就可以了。 总的公共点对数:n^3*(n^3-1)/2(一共有n^3块小方块,从中选出2块)(只有两个小方块之间才存在公共点,我们从所有的小方块中任意选出两个,自然就确定了这两个小方块的公共点的

2014-03-13 19:46:11 519

原创 杭电OJ 1789:Doing Homework again

经典的贪心问题,先按照作业的扣除分数从大到小排序,如果分数相同则按截至日期从小到大排序。然后根据day判断哪些作业可以被安排。注意:for循环中如果存在一个作业符合条件就要跳出循环(因为每天只能安排一个作业)。C++代码:#include#includeusing namespace std;const int N=1001;struct homework{ int deadli

2014-03-11 13:55:03 643

windows中进程共享内存的方法

该文档介绍了在windows上进程间几种共享内存的方式

2012-01-05

SqlServer 数据挖掘

该文档详细的讲解的怎样使用Sql Server 以及微软提供的算法进行数据挖掘

2012-01-05

空空如也

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

TA关注的人

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