2011年12月10日
摘要: 栈:保存了一个函数调用所需要维护的信息,常被称为堆栈帧或活动记录.ebp:帧指针,固定不变,可以用来定位函数活动记录中的各个数据。ebp直接指向的是调用函数前ebp(即下图的old ebp)的值;在函数返回时,ebp可以通过读取这个值恢复到调用前的值。intel下函数调用:参数压栈(从右向左)当前指令的下一条指令地址压栈跳转到函数体执行其中第2,3步由指令call一起执行,编译器可能要求某些寄存器在调用前后保持不变,或者生成的临时变量都需要压栈。多级调用栈布局PS:Debug模式下未初始化的局部变量出现"烫"或者"屯"原因->栈空间给变量分配空间的 阅读全文
posted @ 2011-12-10 22:52 Seiyagoo 阅读(360) 评论(1) 推荐(0) 编辑
  2011年12月9日
摘要: 错误:1.Can't connect to MySQL server on 'localhost' (10061)解决: 1).mysqld-nt --install #启动Mysql服务 2).net start mysql 阅读全文
posted @ 2011-12-09 23:43 Seiyagoo 阅读(248) 评论(0) 推荐(0) 编辑
  2011年11月6日
摘要: 人的一生就是一个探索的过程,这就好比DFS和BFS。 BFS广而博,它让你了解更多的东西,但缺点是浅显; DFS深而远,它让你对某个东西有更深的了解,而以时间为代价。人生亦是如此,好比谈恋爱, BFS让你认识很多人,DFS则让你从众多认识的人中找到你的真爱; 又如兴趣,个人爱好,我们知道,时间是有限的,我们无法涉足所有领域,即使你精力充沛,对一切新奇事物感兴趣。所以我们也是从很多兴趣中选几个突出发展,成为一个优秀有内涵的人才。 说到BFS,DFS,则不得不提到IT领域,你可以充分体会到学无止境的真正内涵。但是我认为,知识不是都要从头开始学,就好比人类的进化史,积累了很多年的... 阅读全文
posted @ 2011-11-06 21:23 Seiyagoo 阅读(320) 评论(1) 推荐(1) 编辑
  2011年11月5日
摘要: 题意:城市某个地方发生火灾,求消防队到该点可能的所有路径(有的街道需要修理不能经过)及总路径数.直接回溯TLE,所以需要预处理下,把与终点直接或间接相关的所有点给挑出来,然后在这个路径上进行回溯. 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #define MAXN 22 5 using namespace std; 6 7 int end,route[MAXN],sum,n,m; 8 bool vis[MAXN],edge[MAXN][MAXN],conn[MAXN]; 阅读全文
posted @ 2011-11-05 13:49 Seiyagoo 阅读(229) 评论(0) 推荐(0) 编辑
  2011年11月4日
摘要: 很简单的一道广度遍历题目 1 #include <stdio.h> 2 #define up_bound 100000 3 #define down_bound 0 4 int Q[100010],dist[100010]={0}; 5 int vis[100010]={0}; 6 7 int bfs(int n,int k){ 8 int front=0,rear=1; 9 Q[front]=n;10 vis[n]=1;11 while(front<rear){12 int x=Q[front];13 if(x==k)14 ... 阅读全文
posted @ 2011-11-04 21:43 Seiyagoo 阅读(361) 评论(0) 推荐(0) 编辑
  2011年10月30日
摘要: 题意:溜石游戏。在一给定大小的矩形冰面上,散布若干石块,给定石头的初始位置和终点,求从起点到达终点的最小步数,超过10次则视作不可达。 其中规则如下,若石头与石块有相邻则不能向该方向滑动;每次溜石只能到达有石块的地方,且将其立即敲碎;若出界则视作失败。 1 这个题比较有意思,玩过类似的游戏题目就比较好理解了,下面是我的代码(BFS求最短路径应该比较好,没试),OJ给的样例,另外自己设计了一些样例都通过了,不过还是WA。。。不解,欢迎大家指正错误! #include <iostream> 2 using namespace std; 3 int X,Y,MIN_MOVE=I... 阅读全文
posted @ 2011-10-30 17:15 Seiyagoo 阅读(374) 评论(0) 推荐(0) 编辑
  2011年10月29日
摘要: 1 #include <iostream> 2 using namespace std; 3 int x,y,ROW,COL,path[30]; 4 bool vis[26][26],flag; 5 int move[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}}; 6 7 #define SIZE ROW*COL 8 9 void dfs(int r,int c,int dep){10 path[dep]=r*COL+c;11 vis[r][c]=true;12 if(dep... 阅读全文
posted @ 2011-10-29 20:35 Seiyagoo 阅读(266) 评论(0) 推荐(0) 编辑