摘要: http://poj.org/problem?id=1011简单的深搜啦#include <stdio.h>#include <stdlib.h>int sticks[100],n;bool used[100];int cmp(const void *x,const void *y){ return *(int *)y - *(int *)x;}bool find(int left,int num,int len){ int i; if(left == 0 && num == 0) return 1; if(left == 0) left = len; 阅读全文
posted @ 2011-07-11 08:49 zhangteng 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 我们可以将vector看成是数组的升级,是广义上的数组并且数据类型自己定义,数组元素个数不限vector的定义方式:vector<类型> 变量名初始化方式:vector<T> v1 //默认构造函数v1为空vector<T> v2(v1) //v2成为v1的副本vector<T> v3(n,i) //v3含有n个i元素vector<T> v4(n) //v4含有初始化的元素的个副本在第三种初始化方式中有元素个数和元素值确定了一个vector对象,vector对象而言它希望达到的目的是动态的分配内存,增加元素,而不是预先确定内存大小ve 阅读全文
posted @ 2011-07-11 08:23 zhangteng 阅读(1605) 评论(0) 推荐(1) 编辑
摘要: http://poj.org/problem?id=2503一道二分查找题#include <stdio.h>#include <string.h>#include <stdlib.h>#include <iostream>using namespace std;struct node{ char a[20]; char b[20];}str[100005];int cmp(const void *x,const void *y){ node *p1 = (node *)x,*p2 = (node *)y; return strcmp(p1-&g 阅读全文
posted @ 2011-07-10 19:13 zhangteng 阅读(229) 评论(0) 推荐(1) 编辑
摘要: 安装步骤:1.先把编译环境,C库、C++库和Boost库装好,如下:sudo apt-get install build-essential2.最新版的Code::Blocks包括一个调试组件Valgrind,用来探测内存泄露的:sudo apt-get install valgrind3. 安装gdb:sudo apt-get install gdb 4.添加软件更新源sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo gedit /etc/apt/sources.list # 添加如下两个更新地址 deb http:// 阅读全文
posted @ 2011-06-26 22:22 zhangteng 阅读(5339) 评论(0) 推荐(0) 编辑
摘要: 1.移动到你要安装的盘(以装在主文件夹为例)2.解压,可直接解压3.打开终端输入cd iNodeClient,进入iNodeClient文件夹输入sudo chmod 755 install.sh,更改install.sh的权限sudo ./install.sh4.如果是ubuntu 11.04以前的版本,到这里安装就完成,下面的可以跳过;如果是11.04以上版本,请继续阅读。5.11.04以上版本可能会出现库文件找不到的情况,我见到的有libjpeg.so.62和libtiff.so.3这两个库文件找不到的情况这两个库的解决办法一样,找别的库软连接过来就行sudo ln -s /usr/li 阅读全文
posted @ 2011-06-26 22:21 zhangteng 阅读(713) 评论(0) 推荐(0) 编辑
摘要: A war had broken out because a sheep from your kingdom ate some grasses which belong to your neighboring kingdom. The counselor of your kingdom had to get prepared for this war. There are N (1 <= N <= 2500) unarmed soldier in your kingdom and there are M (1 <= M <= 40000) weapons in your 阅读全文
posted @ 2011-06-26 22:19 zhangteng 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 欧几里得扩展算法首先证明欧几里德算法(即最大公约数算法)设有a,b两个数;a=k*b+r,r=a%b;假设d是a,b的一个公约数,a%d=0,b%d=0;r=a-k*b,因此r%d=0;即所有a,b的公约数都是b,a%b的公约数,那么gcd(a,b)=gcd(b,a%b);所以当a%b=0时,即a和b的最大公约数就是他们本身;算法代码int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}gcd(a,b)=gcd(b,r0)=gcd(r0,r1)=...=gcd(rn-1,rn)=gcd(rn-1,0)=rn-1. 接下来讲解欧几里得扩展算法(即求n*a 阅读全文
posted @ 2011-06-26 22:07 zhangteng 阅读(325) 评论(0) 推荐(0) 编辑