2013年7月22日
摘要: /*注意: 911911123这组数据可以得到正确的答案 911123 911对于这组数据就判断失误了用一个标记变量flag来标记插入过程中是否有重新创建节点*/#include #include #include #define M 10struct node{ int end; node *child[M]; node() { end = 0; memset(child,NULL,sizeof(child)); }};void clear(node *root){ for(int i=0;ichild[i] != NULL) ... 阅读全文
posted @ 2013-07-22 19:17 lk1993 阅读(153) 评论(0) 推荐(0) 编辑
  2013年7月17日
摘要: #include #include #include using namespace std;#define MAX 0x7fffffff#define M (2000 + 5)#define ___min(a,b) (a < b ? a : b)#define __pow(a) ((a) * (a))int id[M],dp[M][M / 2];void run(){ int n,k; while(scanf("%d%d",&n,&k) != EOF) { for(int i=1; i<=n; i++) { ... 阅读全文
posted @ 2013-07-17 20:59 lk1993 阅读(202) 评论(0) 推荐(0) 编辑
  2013年7月16日
摘要: 斯特灵公式斯特灵公式是一条用来取n阶乘近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特灵公式十分好用,而且,即使在n很小的时候,斯特灵公式的取值已经十分准确。公式为:这就是说,对于足够大的整数n,这两个数互为近似值。更加精确地:或者:求N!的位数:=log10(N!)+1 = 0.5*log10(2*PI*n)+n*log10(n/e); 阅读全文
posted @ 2013-07-16 16:51 lk1993 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 七种 qsort排序方法 一、对 int 类型数组排序int num[100];Sample:int cmp ( const void *a , const void *b ){ return *(int *)a - *(int *)b;}qsort(num,100,sizeof(num[0]),cmp);二、对 char 类型数组排序(同 int 类型)char word[100];Sample:int cmp( const void *a , const void *b ){ return *(char *)a - *(char *)b;}qsort(word,100,sizeof(w.. 阅读全文
posted @ 2013-07-16 16:45 lk1993 阅读(226) 评论(0) 推荐(0) 编辑
摘要: STL中 sort函数用法简介 sort 函数,可以直接对数组排序,复杂度为 n*log2(n)。使用这个函数,需要包含头文件 #include 。这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址,排序的区间是[a,b)。例:对数组 t 的第 0 到 len-1 的元素排序,就写 sort(t,t+len)。对向量 v 排序也差不多, sort(v.begin(),v.end());排序的数据类型不局限于整数,只要是定义了小于运算的类型都可以,比如字符串类 string 。如果是没有定义小于运算的数据类型,或者想改变排序的顺序,就要用到第三参数 阅读全文
posted @ 2013-07-16 16:44 lk1993 阅读(3275) 评论(0) 推荐(0) 编辑
  2013年5月24日
摘要: #pragma warning(disable : 4786)#include #include #include using namespace std;#define MAX 0x7fffffff#define Mtypedef string String;map Map;bool isChar(char ch){ if(ch >= 'a' && ch > s1; while(cin >> s1) { if(s1 == "END") break; cin >> s2; Map[s2]=s1; } cin 阅读全文
posted @ 2013-05-24 22:19 lk1993 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 源地址:http://www.kuqin.com/cpluspluslib/20071231/3265.htmlMap是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就 阅读全文
posted @ 2013-05-24 21:21 lk1993 阅读(138) 评论(0) 推荐(0) 编辑
  2013年5月21日
摘要: #include #include #define MAX 0x7ffff#define Mvoid run(int __case,int __t){ int n,start,end,add,in,max,lo; start=end=lo=1; add=0; max=-MAX; scanf("%d",&n); for(int i=1;i max) { max=add; start=lo; end=i; } if(add < 0) { add=... 阅读全文
posted @ 2013-05-21 10:38 lk1993 阅读(151) 评论(0) 推荐(0) 编辑
  2013年5月20日
摘要: #include #include #define MAX 0x7fffffff#define M 10000bool isPrime[M+1];void primeAdd(){ memset(isPrime,true,sizeof(isPrime)); for(int i=2;i=2) { if(isPrime[mid] && isPrime[n-mid]) { printf("%d %d\n",mid,n-mid); break; ... 阅读全文
posted @ 2013-05-20 23:59 lk1993 阅读(186) 评论(0) 推荐(0) 编辑
摘要: #include #include #define MAX 0x7fffffff#define M 300002char id[M];void run(){}int getmin(char * pat,int len){ int i=0,j=1,k=0; while(i 0) i += k+1; else j += k+1; if(i == j) j++; k = 0 ; } } return i=id[i] ? id[i+1]-id[i]+'0' : ... 阅读全文
posted @ 2013-05-20 22:31 lk1993 阅读(208) 评论(0) 推荐(0) 编辑