自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

坤哥的专栏

What hurts more, the pain of hard work, or the pain of regret?

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

原创 设计模式

待续

2014-01-13 13:01:18 690

原创 回调函数在Android监听的体现

待续

2014-01-12 14:38:29 791 1

转载 Servlet采用forward出现中文乱码问题解决

经常有人问到,在servlet里面forward到一个页面之后,浏览器总是汉字的乱码。经调试发现,是由于在servlet里面不能正确调用 response.getWriter()方法造成的。 servlet 如下,如果去掉注释,则会出现乱码 package test; import java.io.IOException; import java.io.PrintWriter;

2013-10-27 13:02:55 3315

转载 CStatic控件的基本使用

CStatic 继承于 CWnd,是一种特殊的窗体。他可以显示文本字符串(这也是最常用的用法)、图标、指针(cursor)、位图和增强图文元件. 通常静态控件不提供输入和输出。但是如果把他的属性设置为 SS_NOTIFY,他可以通知其父窗口的击鼠标事件。 一。CStatic 用于显示文本 如果文本不变,可以直接设置其 Caption。如果想在运行过程中改变其显示文本,可以用如下方式: C

2013-08-08 23:17:08 810

原创 MFC位图显示

这是一种简单的方式,分为四个步骤. 1.创建位图,这里的位图仅限bmp格式的.   CBitmap bitmap; bitmap.LoadBitmapA(IDB_BITMAP1); 导入位图资源 2.创建兼容DC, CDC dcCompatible; dcCompatible.CreateCompatibleDC(pDC); 其中CreateCompatibleD

2013-08-08 22:05:19 3085

转载 C++内存分配

1、栈区(stack)— 由编译器自动分配释放 ,存放函数参数值,局部变量值等。其 操作方式类似于数据结构中栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量存储是放在一块,初始化 全局变量和静态变量在一块区域, 未初

2013-06-06 19:40:49 892

转载 C++ 虚函数表解析

C++ 虚函数表解析 陈皓 http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,

2013-05-31 22:16:03 579

原创 hdu2579 BFS

链接:http://acm.hdu.edu.cn/showproblem.php?pid=2579 广搜,只不过可以往回走,所以标记数组也从二维数组变成三维数组。 Ac code: #include #include #include using namespace std; int r,c,k; #define N 105 bool step[N][N][12]; ch

2013-05-27 18:54:52 869

原创 hdu 4318 SPFA 最短路

AC code: #include #include #include #include #include #include using namespace std; #define N 50005 struct Edgenode { int v,next; double cost; }Edge[N*55]; int edgenumber,head[N]; int

2013-05-12 03:06:51 799

原创 微软面试题<十>

题目: 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回 true ,否则返回 false 。 分析:  由二叉查找树的性质分析可知,最后访问的是节点的根结点,其根结点大于其左子树的全部结点,小于其右子树的全部结点,  所以在遍历过程中,如果发现某个元素大于根结点,则该元素左部分的数据应全小于它,右部分数据全大于它,在依次对子序列进行递归分析,如果在某段序列中

2013-04-20 21:12:33 587

原创 指针的初始化

#include using namespace std; typedef struct  { int x,y; }Point,*p; int main() { p p1=new Point; //而不能简单的定义p p1. p1->x=10; cout return 0; }

2013-04-19 16:17:55 654

原创 微软面试题<七>

题目: 微软亚院之编程判断俩个链表是否相交: 给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。 为了简化问题,我们假设俩个链表均不带环。 问题扩展: 1.如果链表可能有环列? 2.如果需要求出俩个链表相交的第一个节点列? 先来解决两链表均不带环的情况: 需要注意的是链表相交不是指链表含有相同的元素,而是地址相同.通过此图可以发现 相交的两个链

2013-04-19 00:53:16 650

原创 微软面试题<五>

题目: 查找最小的k个元素 题目:输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。 这里采用的是STL的最大堆来解决,先取k个元素建堆,然后取剩下的元素与堆中的最大值进行比较,若小于堆中的最大值,则该值进堆,进行若干次循环,即可得到结果. 代码实现: #include #include #include

2013-04-18 19:50:42 894

原创 稀疏矩阵三元组的相加相乘运算

代码如下: //矩阵三元组之矩阵相加 相乘 #include using namespace std; typedef int Elemtype; #define MAXSIZE 12500 //最大非零元素 typedef struct Triple { Elemtype value; int row,col; }Triple; typedef struct

2013-04-16 21:51:23 2799

原创 微软面试题<四>

题目: 在二元树中找出和为某一值的所有路径 题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如 输入整数22和如下二元树   10      / \      5 12      / \      4 7 则路径分别为 10 12与 10 5 7 思路:DFS,分别对左右子树进

2013-04-14 23:44:39 731

原创 微软面试题<三>

题目: 求子数组的最大和 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。 思路:动态规划,当一段子数组和小于零时,

2013-04-14 22:12:25 613

原创 微软面试题<二>

题目:  设计一个包含min函数的栈,得到最小元素,其中要求push,pop,min时间复杂度均为O(1). 思路:  采用空间换时间,引进一个辅助数组,存储当前所有元素中最小元素的下标,每次往栈中压入新的元素时更新此数组. 代码如下: #include using namespace std; typedef int Elemtype; class MinStack { public

2013-04-14 18:09:24 660

原创 微软面试题<一>

题目: 把二叉查找树变成排序后的双向链表.              10              /    \            6     14         /     \   /    \       4     8 12 16 得到 4=6=8=10=12=14=16 思路:  由于对二叉查找树的中序遍历就会得到一个排序后的数组。 所以可以在中序遍历时对每个遍

2013-04-13 21:33:38 648

原创 归并排序

归并排序:  上机无聊中,来写写经典的归并排序.一种典型的分治算法,一段连续的数据,可以采用局部分治排序在2路合并,最终得到排序后的结果. 需要开辟一个辅助数组来保存数据。 代码如下: //归并排序 #include using namespace std; void Merger(int a[],int left,int mid,int right,int temp[]); v

2013-04-12 14:49:56 533

原创 hdu4287

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4287 解题思路: 先把单词化成数字插入到字典树,然后查询次数. AC code: #include #include using namespace std; #define N 5005 char num[N][7]; //数字 char str[7]; //字母 struct node

2013-04-10 22:05:44 597

原创 STL 堆操作

需要头文件 #include 常用的三个函数 make_heap(),pop_heap(),push_heap(),sort_heap(). make_heap() 函数原型: void make_heap(first_pointer,end_pointer,compare_function). 前两个参数是迭代器的范围,第三个参数是比较函数,默认为最大堆 pop_heap() 函数原

2013-04-09 20:27:32 865

原创 poj 1321

链接:http://poj.org/problem?id=1321 DFS问题. AC code #include #include #include using namespace std; int n,k,Maze[9][9],sum,visited[9]; //列标记数组 void DFS(int row,int s) { if(s==k) { sum++;return;} i

2013-04-09 19:33:51 540

转载 STL排序

0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来。幸运的是这些理论 都已经比较成熟,算法也基本固定下来,不需要你再去花费心思去考虑其算法原理,也不用再去验证其准确性。不过,等你开始应用计算机语言来工作的时候,你会 发现,面对不同的需求你需要一次又一次去用代码重复实现这些已经成熟

2013-04-07 20:34:28 557

原创 poj 3461

链接:http://poj.org/problem?id=3461 KMP: AC code: #include #include #include using namespace std; char p[10005],q[1000005]; int nextval[10005]; void getnextval(char p[],int m) { int i,j=

2013-04-05 21:43:44 588

原创 hdu1829 A Bug's Life

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1829 题意:判断一些类似男女配对数据里是否存在同性恋,用并查集判断是否存在同性恋,即同一集合里面是同性的人,增加辅助数组判断性别. Ac code: #include #include using namespace std; #define NUM 10005 int father[NUM],se

2013-04-04 23:39:43 658

原创 二叉树的遍历(递归与非递归)

二叉树的常见遍历: //二叉树 #include #include #include using namespace std; typedef int ElemType; struct BinaryTreeNode { ElemType data; BinaryTreeNode *left; BinaryTreeNode *right; }; Binary

2013-04-03 00:15:50 630

原创 汉诺塔栈的简单应用 nyoj93

链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=93 利用栈来模拟过程: AC code: #include #include using namespace std; int main() { int test,p,q,i,x,y,flag; cin>>test; while (test--) { flag=1;

2013-04-02 21:48:24 576

原创 KMP

最近学到了KMP这章,今天又重新温习了一遍,下面对kmp算法进行一下总结. 传统的字符串匹配,时间复杂度为O(m*n),m,n分别为主串s和匹配串p的长度,每次进行匹配时,当发现失配时,主串要发生回溯. KMP:   kmp采用了一个辅助数组nextval,利用匹配串自身的特点,当i与j失配时,i不发生回溯,j后退.,与p的第k个字符匹配判断(k   有下列等式   1. p1p2p3.

2013-03-25 20:59:11 576

原创 前缀表达式的计算

//nyoj 128前缀表达式 #include #include#include #include #include #include using namespace std; char Compare(char c,char d) { switch (c) { case '+': case '-': if(d=='+'||d=='-') return

2013-03-23 00:41:39 781

原创 hdu 1272

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272 2个条件: 1,用并查集判断是否有环. 2,  在一根树中. AC code: #include using namespace std; #define NUM 100002 int father[NUM],num[NUM]; void Init() { for(int i=0;i

2013-03-20 01:04:11 572

原创 hdu2523

链接:http://acm.hdu.edu.cn/showproblem.php?pid=2523 Hash的水题,数据量及组合数范围都可以估算. AC code: #include #include using namespace std; int main() { int i,j,test,k,n,hash[2002],a[1002],result[2002]; cin>>tes

2013-03-16 15:33:43 780

原创 hdu1381

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1381 题意中的NC不懂有什么用...用的STL里面的map过的. AC code: #include #include #include #include using namespace std; int test,N,NC; string str; map m; int

2013-03-15 12:07:40 1131

原创 hdu2553

N皇后的问题,解法好多种,这里采用的是递归回溯,但内存限制吧,用了打表的方法,其实用bfs可以不用打表. 主要是两个函数,递归函数和判断是否合法. AC code: #include #include using namespace std; #define N 10 int Maze[N][N]; int sum; int n; bool Valid(int i,int j); vo

2013-03-14 18:55:33 1452

原创 双循环链表之分离

要求: 把a1,a2,a3,a4,....an分离成 a1,a3,a5,....an,..a4,a2; 代码如下: //双循环链表 //带头结点的循环链表 #include using namespace std; typedef int ElemType; //结点类型定义 typedef struct DoubleListNode { ElemType data;

2013-03-14 12:39:15 915

原创 单循环链表解决约瑟夫问题

#include using namespace std; typedef int Elemtype; typedef struct ListNode { Elemtype data; ListNode *next; }ListNode; ListNode* CreateList(ListNode *&first,int n) { ListNode *last=new ListNode;

2013-03-09 16:05:20 1441

原创 单链表

#include using namespace std; typedef int ElemType; typedef struct Node { ElemType data; Node *next; }ListNode; class List { public: List(); ListNode* CreateList(ListNode *&root,int n

2013-03-03 01:25:25 448

原创 hdu2716

#include #include #include "stdio.h" using namespace std; int main() { char str1[26],str2[81]; while (scanf("%s",str1)!=EOF) { getchar(); gets(str2); int i,len=strlen(str2); for(i=0;i<len

2013-03-01 19:02:18 500

原创 新学期计划

不知不觉大学的生活快到一半了,真庆幸大学到现在并没有虚度很多时间,嘿嘿。算是一点自我安慰啦。 1.学好windows编程,争取把windows核心编程看到一半,因为现在windows程序设计还没看完。 2.本学期开了数据结构,由于自己差不多了解了很多,所以这次要搞懂遇到的每道题,不能把问题放下等以后来处理了. 3.课余时间尽量学下英语,发现自己看英文文档很吃力.这是个问题。   今天是开学

2013-02-24 21:16:55 573 2

原创 hdu 2545

链接:http://acm.hdu.edu.cn/showproblem.php?pid=2545 并查集解决. AC code: #include #include using namespace std; #define Max 100001 int father[Max]; void Init() { int i; for(i=0;i<Max;++i) father[i]

2013-02-07 17:24:53 632

原创 hdu 1811

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1811 ps:输入格式看错了,提交了好几次。。原来中间还有空格。。 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布

2013-02-05 22:24:03 651

nyoj部分ACM答案

适合新手,详情可见我博客

2012-11-17

单调递增子序列 最大连续子段和

适合初学者,经典DP

2012-09-20

空空如也

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

TA关注的人

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