- 博客(116)
- 资源 (2)
- 收藏
- 关注
原创 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
原创 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
转载 进线程, 进线程句柄, 进线程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
原创 九度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 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人