- 博客(183)
- 资源 (1)
- 收藏
- 关注
原创 二叉树镜像
void TreeMirror(BinaryTreeNode *pNode) { if(pNode == NULL) return; if(pNode->lChild == NULL && pNode->rChild == NULL) return; BinaryTreeNode *temp = pNode->lChild; pNode->lChild
2014-12-29 19:58:09 582
原创 打印1 到最大的n位数
#include #include #include using namespace std;int n;//bool Increment(char *number) {//// int nsum = 0, ntakeover = 0; //对进位问题的精确控制。// int length = strlen(number);// for (int i = le
2014-12-15 21:35:33 545
原创 实现函数double Power(double base,int exponent),求base的exponent次方
/* copyright@nciaebupt 转载请注明出处 题目:实现函数double Power(double base,int exponent),求base的exponent次方。 不得使用库函数,同时不需要考虑大树问题。 分析: 这道题目有以下几点需要注意: 1. 0的0次方是无意义的,非法输入 2. 0的负数次方相当于0作为除数,也是无意义的,非法输入
2014-12-12 19:06:45 1606
转载 c++之指针作为函数参数传递的问题
转:http://blog.csdn.net/fjb2080 其实,对于C 或者C++ ,最难的一块地方估计就是指针了。指针是强大的,但也是很多人载在这里的地方。 前段时间写了一篇文章《C ++之 数组与指针的异同 》对C 和C ++中的指针做了一个初步的讲解。这次将讲解一下指针作为函数参数传递的问题。 很多人对于指针的使用是有所了解的,但还是经
2014-12-08 18:37:12 623
原创 替换空格及合并两个有序的数组
/*void ReplaceBlank(char *str, int len) { //len表示的是给你的字符数组的长度。 if(str == NULL || len < 0) return; int originalLength = 0; int numberOfBlank = 0; int i= 0; while(str[i] !=
2014-11-30 20:38:34 531
原创 各种排序算法
#include #include #include #define mid(x) x >> 1;using namespace std;const int M = 105;int num[M];int n;void insertion_sort(int h){ int temp, j; for(int i = h; i < n; i+=h){
2014-11-11 20:29:37 609
原创 重载的一些东西
#include #include using namespace std;//1 double cube(double x)//2 double cube(double & x) 参数调用时将类型引用和类型本身作为同意特征标。所以编译器分不清哪个是函数原型,将出现错误。//3 编译器不区分const 和非 const变量。//4 使用重载的时机,当执行相同的任务,但使用不同的参数
2014-11-10 11:31:43 627
原创 c++默认参数问题
#include using namespace std;char *left(const char * str, int n = 1); // 重要作用: 默认参数可以让你使用不同的参数调用同一个函数。 //默认参数值必须从右向左给出,中间不能有间隔。 //如 flet(int a, int b i
2014-11-10 10:42:11 798
原创 指针和const分析
int age = 39; int a = 34; //第一种用法适合于保护age的值不被修改。 const int *pt = &age; //定义一个指针常量,不能用pt修改age的值,但可以改变pt指向的地址。pt = &a; //*pt = *pt + 5; 错误的做法,*pt是一个常量, //第二种用过,保护pt指向的地址不
2014-11-08 10:24:15 620
原创 hdu1839Delay Constrained Maximum Capacity Path(二分 + spfa)
题意:给出n个点,m条边,t
2014-11-06 14:57:48 706 1
转载 堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2014-11-05 14:38:29 501
转载 面试题目
问题描述:多人排成一个队列,我们认为从低到高是正确的序列,但是总有部分人不遵守秩序。如果说,前面的人比后面的人高(两人身高一样认为是合适的),那么我们就认为这两个人是一对“捣乱分子”。比如说,现在存在一个序列: 176, 178, 180, 170, 171这些捣乱分子对为:, , , , , 那么,现在给出一个整型序列,请找出这些捣乱分子对的个数(仅给出捣乱分子对的数目即
2014-11-04 15:13:48 536
原创 常用排序代码
#include #include #include #include using namespace std;typedef struct node{ int data; struct node *next;};typedef struct{ struct node *front; struct node *rear;} LinkQueue
2014-11-02 20:22:01 548
原创 需要记住的东西
文件读入 //freopen("aa.txt","r",stdin); // freopen("bb.txt","w",stdout);
2014-11-02 15:39:10 613
原创 hdu3986 Harry Potter and the Final Battle(重边的处理)
题意:给定一张图,从1到n,若能随便去除一条路,问重最短路?
2014-10-27 19:07:09 579
原创 hduThe shortest path(双调欧几里得旅行商问题)
题意 http://www.cnblogs.com/kevinLee-xjtu/archive/2011/12/06/2299100.html
2014-10-25 16:42:21 631
原创 poj 1639 Picnic Planning k限制生成树问题
题意:有一群兄弟去野餐,可以自己开车到目的地,或者开车到A的家里,然后和A一起去目的地。但目的地的停车场不一定容得下,如果每个人都自己开车去的话。所以这对连接到Park的边数有个限制。求他们总路径的最小值。本体是一道
2014-10-14 19:40:52 501
原创 hdu4081 Qin Shi Huang's National Road System(文件读入)
#include #include #include #include #include #include using namespace std;const int M = 1005;double ans;struct node { int x, y; int value;}line[M];struct Node{ int x, y;
2014-09-24 12:54:59 535
转载 hdu3836Portal
/*本题题意有必要说一下, 给出一系列查询长度, 要求你找出任意两点间的最长边(a,b之间许多边中最长的边小于等于查询的能量值,这两点就满足条件)小于等于给出的查询长度, 做法是对给出的边排序,具体看代码, 我也是看了别人写的才明白题意的。做法: 我们把所有的边和所有查询排序(从小到大)如果当前边长小于等于查询长度。即合并此边(并查集)注意:当要合并的两点是树时, 总的条数ans
2014-09-16 15:36:08 560
原创 poj1144( 求割点数)
#include #include #include #include using namespace std;const int M = 150;int dfn[M], low[M],vist[M], flag[M];vectorque[M];int n, index, root;int ans;void init() { memset(dfn, 0, si
2014-09-12 21:23:54 682
转载 hdu 2059 龟兔赛跑 dp
参考大牛的代码,/*这道题目是DP中多阶段决策的典型例题我们将起点和终点划分到N个加电站中去这样一共有N+2点,用DP[i]表示到第i个加电站的最小耗费时间那么在求DP[i]的时候,DP[0]...DP[i-1]已经求得让j从0遍历到i-1,每一个j表示最后一次充电到i点那么状态转移方程为DP[i] = min(DP[j] + t(j, i)) //t(j, i)表示从j充完电一直到
2014-09-06 15:35:44 853
转载 hdu 1421 搬寝室 dp
对于DP题目, 一直没能入门, 每次都不能找到正确的状态转移方程。借鉴别人代码dp[i][j] i 代码i件物品, j 代表 组成 j 对时的最小疲劳值。dp[i][j] = min(dp[i-1][j] , dp[i-2][j-1] + (value[i-1] - value[i])*(value[i-1] - value[i]));解释: 如果当前 第 i 件物品不选,
2014-09-06 09:47:13 572
转载 1125 pojBig Christmas Tree
本体我只想说说题意: 在给出的所有点中找到一个点,到所有点的时间最短,输出这个点,并输出最短距离,如果不连通, 则输出“disjoint” 由于题意没看明白, 错了好多次。#include #include #include using namespace std;const int M = 105;const int inf = 99999999;int dist[M][M];
2014-08-24 15:12:08 550
转载 poj2240 Arbitrage
#include #include #include #include #include using namespace std;const int M = 100;double dist[M][M];mapm;string s, s1, s2;int n;int main(){ int t; double d; int q= 1; while(c
2014-08-23 15:42:51 549
原创 poj 1270 拓扑排序
#include #include #include #include #include using namespace std;const int M = 200; vectorque[M];char str[M];int vist[M];int num[M];int ans[M];char str1[M];int du[M];int k;void init(
2014-08-15 10:05:58 566
转载 poj2051Fence Repair笛卡尔树
#include #include #include #include using namespace std;const int M = 50010;struct node { int key, value; int id;}Heap[M];int Stack[M];int p[M];int l[M];int r[M];int n;bool
2014-08-13 19:45:09 518
原创 poj1577 Falling Leaves
题意:原先有一颗未知的树, 每次删去树中叶子节点,下次删除上次删除后形成的新的叶子节点,直到删除根,给出每次删除的字母,要求你求出此树的前序遍历。关键条件: 根左儿子字母都小于根,有孩子都大于根,
2014-08-13 10:11:11 740
原创 poj3253 优先队列
#include #include #include using namespace std;const int M = 20000 + 10;long long ans;int n;struct T{ int x; const bool operator<(T a) const { return a.x < x; }
2014-08-12 10:00:24 520
转载 zoj2724 堆的插入调整
#include #include #include #include #include using namespace std;const int M = 60005;struct node{ char name[50]; int para; int pri,t;}p[M];int heap[M];int used, top;int ch
2014-08-11 20:29:18 696
转载 poj1145 括号间的读取与匹配
#include #include #include #include using namespace std;char ans[110];int flag;int x;void sovle(int s, int e, int res, int x) { if(e -1 == s) return; char str[30]; int k
2014-08-11 08:47:01 623
原创 poj1909 Marbles on a tree
一看就会#include #include #include #include #include using namespace std;const int M = 10005;vectorque[M];int num[M];int rd[M];int n, ans;void init() { for(int i = 0; i <= n; i++){
2014-08-09 15:03:13 656 1
原创 poj1470 Closest Common Ancestors
题意给出一颗树, 后给出m 组(u,v)查询;找到每组两个节点的最近公共祖先, 后按祖先数从小到大输出,最近公共祖先 和以其为祖先的数量
2014-08-08 09:33:18 539
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人