- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 vs2010项目复制
虽然觉得内容比较蠢但还是记录一下。。。以将项目A复制为项目B为例:1. 文件夹A重命名为B2. B文件夹下,将以下文件重命名(其他的可以删):A.cpp --> B.cppA.sln --> B.slnA.vcxproj --> B.vcxprojA.vcxproj.filters --> B.vcxproj.filters (项目下的虚拟文件夹,即头文件、源文件等)
2015-05-16 17:36:31 1103
原创 matlab 图像处理
img = imread('文件名'); 读图片[height, width] = size(img); 图像尺寸img_class = class(img); 图像类型转换(像素的数据类型) class可以是double、uint8等imshow(img); 显示图像
2015-04-27 22:32:04 658
原创 opencv win7_64位 codeblocks配置
主要参考这篇文章http://blog.sina.com.cn/s/blog_8d9b46790101dk68.html不过会出各种问题,改动如下:1.把上文中的路径中出现x86的地方换成x64;2.设置环境变量时,用户变量与系统变量的path变量都添加上: D:\Program Files\opencv\build\x64\vc10\bin;D:\Program Files\
2015-02-11 14:51:26 790
原创 uva 10305
拓扑排序的水题。#include #include#define max 10000+10using namespace std;int in[max];int edge[max];int root[max];int next[max];int que[max];int main(){ int n,m; while(cin>>n>>m){ if
2013-11-29 19:25:23 391
原创 AVL树(平衡二叉树)
AVL树通过旋转操作来维持其“平衡”,即尽可能接近满二叉树的形状,这样才能在查找等操作时发挥树结构的优势,达到log(n)的速度,否则一个退化的二叉树就成链表了。AVL树的旋转操作不难理解,找个带插图的文章看看就很容易明白,不过实现起来就比较麻烦,主要在于情况分类比较多,一会这个节点要认爹一会那个节点要换儿子,最好能自己在纸上把所有情况画一画。#include #include#def
2013-11-22 23:40:45 546
原创 二叉树三种非递归遍历
好久没刷题了。。。发个实验课的东西充数吧#include #include#define prt cout<<"请输入二叉树:"using namespace std;struct node{ char c; // 字符数据 node *l,*r; // 左右子树指针 node(char cc){ // 构造函数 c=cc;
2013-11-08 23:33:37 443
原创 uva 657
dfs的水题,只不过有个细节,点数也是一堆连在一起的只算一个点,也就是说在dfs里要再套个dfs。#include #includeusing namespace std;struct node{ int n; node *next; node(int a,node *p){n=a;next=p;}};char g[60][60];int vis[60]
2013-10-28 22:32:35 447
原创 uva 10562
题目不是很难,不过格式还是挺新奇的,半个月没写题了,结果wa了3发始终找不到原因,最后发现没换行,实在是。。。。#include #includeusing namespace std;char str[220][220];int sta[220];int main(){ int n; cin>>n; getchar(); while(n--){
2013-10-12 22:09:46 428
原创 贪吃蛇ai
半年前毛都不懂的时候,写了个暴力的贪吃蛇ai,900多行,一堆if,else,现在算是懂了点毛吧,加了个bfs,瞬间优越了很多,在10*10下试验也比老的ai快,真是知识就是力量啊...#include#include#include#include #includeusing namespace std;const int N=10+2;const int MAX=N*N+
2013-09-25 16:48:25 757
原创 uva 327
这题就是让算一个表达式的值,要处理变量的自加自减,刚在数据结构课上听了怎么把中序表达弄成后序表达,就趁此试了试,所以过程麻烦了点。#include #include#include#define hp '!'#define hm '@'#define tp '#'#define tm '$'using namespace std;char orgn_str[200];ch
2013-09-20 14:03:14 448
原创 uva 548
这道题是,给出一个二叉树的中根遍历和后根遍历,让你找这个树上从根到叶子和最小的一条路径,即对这个树进行先根遍历(dfs)。很容易想到的一个思路就是先重建,再遍历,我看网上的代码基本也是这么写的。不过我注意到后根遍历倒过来看,就是一个先遍历右子树的先根遍历。可以这么想,在后根遍历中,最后一个元素就是整个树的根,前面分别是左子树和右子树的后根遍历;而在子树的后根遍历中,这个子树的根又在最后,从后往
2013-09-04 19:16:37 621
原创 uva 112
大概是把一个二叉树通过括号标记存到一个线性表里,然后算根到叶子的和。给出的带括号的形式其实就是这个树的dfs的栈,左括号入,右括号出,因此不需要重建树,直接怼就行。然后我用一个数组记录访问次数以此判断是否为叶子。在网上看到有大神的代码巧妙利用cin流的各种函数来处理输入,不明觉厉。#include #include#includeusing namespace std;int sta[
2013-09-02 22:49:18 474
原创 uva 540
本来想开个二维数组,担心数据坑人越界,就用指针写了,开了个指针数组来存放每个队的末尾元素的指针。#include #include#includeusing namespace std;struct node{ node *next; int n;};int belong[1000005];node *team[1005];node *hea
2013-08-29 16:36:07 477
原创 uva 11234
这道题是要将一个用栈储存的逆波兰表达式,转化为用队列表示。逆波兰的栈表示就是一个二叉树的后序遍历,我把逆波兰的二叉树画出来后,跟示例一比发现要输出的就是这个树的层次遍历的逆序。照这么写果然过了,但是不明白为什么,上网也没搜到好的结果。#include #includeusing namespace std;#define max 10010struct node{ node *
2013-08-27 16:44:28 507
原创 uva 442
题目没什么说的,直接栈模拟,由于题目说明给出的字符串是合理的,也就不用检查合法性,遇到右括号就出两个进一个新矩阵。看到别人的代码可以先扫一遍判断是否可以连乘,这样可以节省时间,看来线代又没学好。另外c++下struct可以带构造函数,用起来比较方便。#include #includeusing namespace std;struct mtrx{ int r,c;
2013-08-26 17:21:51 445
原创 uva 10152
题目没啥说的。string类的整行输入,用getline(cin,buff,char c), 第三个参数为分割符,默认为\n,可忽略此参数。c不存入string,下次读时从c的下一个字符开始。#include #include#include#includeusing namespace std;int main(){ map t; int k,
2013-08-26 11:04:07 430
原创 uva 101
大水题,由于各种变量重名及瞎引用竟然搞了一下午,智毕硬。。。另外这题看到网上各种上百行的代码,颇为不解。。。#include using namespace std;int c[30][30];int pos[30],top[30];void rtn(int n){ int p=pos[n],&t=top[p],m; while( (m=c[p][t])!=
2013-08-24 16:29:48 432
原创 uva 127
水题一道,不过是第一次用数组实现链表,形式上貌似更简洁,代码量也少,不过有些细节第一次写所以还没习惯,比如用指针时是p->left,用数组的话是left[i],想着很明白,但是不经意间就会写成i-1。#include #include#includeusing namespace std;char crd[53][53][5];int top[53];int l[53]
2013-08-23 17:46:34 588
原创 poj 3159
差分约束系统,A认为B同学的糖不能比他的多C,即a->b有一条权为C的路,flymouse在发糖的时候要满足所有同学的要求,现在问,flymouse如何给每个同学发糖,最后能使自己的糖的数量比snoopy多的最多,即设d[0]=0,问d[n]。这道题spfa用栈而不用队列,至于为什么我也不甚清楚……另外一个细节是一开始用cin输入超时,换了scanf 就过了。。。#include #in
2013-07-21 17:28:46 677
原创 poj 2240
题目的意思是给出几个国家,并给出每个国家之间的汇率,求这几个国家构成的图中所形成的环中,一个国家的钱转一圈回来之后还可增加,即自身汇率大于1。用floyd的思路来写,注意一是数组为double型,二是自环初始为1,其他开路的话初始为0。第一次用map类,将一对string和int关联起来,而且可以用[]运算符操作,很方便。#include #include#include#
2013-07-20 19:57:13 473
原创 poj 1847
大致题意:现在有一铁路网络,有n个交叉点,和一些开关。通过开关可以改变路线方向,使其能驶向其他交叉点。开关的初始状态已知,即(初始直接某两点直接相连)。问从出发点到目的地最少要动多少开关才能到达。最短路问题,开关初始状态边权为0,其他为1,这个条件转化比较有意思,深感智商不够用了。。#include using namespace std;#define max 0x3f3f3f3
2013-07-20 17:16:27 551
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人