2013年5月30日
摘要: 首先亮出leveldb arena 源码:/util/arena.h// Copyright (c) 2011 The LevelDB Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file. See the AUTHORS file for names of contributors.#ifndef STORAGE_LEVELDB_UTIL_ARENA_H_#define STORAGE_ 阅读全文
posted @ 2013-05-30 21:23 luckyboy1991 阅读(299) 评论(0) 推荐(0) 编辑
摘要: leveldb介绍leveldb是google两位工程师开发的单机,轻量级,持久化,key-value 非关系型数据库库.1.google leveldb project:http://code.google.com/p/leveldb/2.leveldb 实现原理http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html3. leveldb 实现解析http://rdc.taobao.com/blog/cs/wp-content/plugins/leveldb%E5%AE%9E%E7%8E%B0%E8%A7%A3%E6%9E%9 阅读全文
posted @ 2013-05-30 20:49 luckyboy1991 阅读(245) 评论(0) 推荐(0) 编辑
  2013年4月18日
摘要: #include <stdio.h>#include <string>#include <algorithm>using namespace std;#define exchange(a,b) { a^=b; b^=a; a^=b; }#define comp(a,b) ( (1ull<<((sizeof(a-b) * 8) - 1)) & (long long) floor((a-b)) ? b : a ) //不用任何大于小于符合比较两数大小//函数指针typedef int (*cmpFcn) (int); //cmpFcn是一种指 阅读全文
posted @ 2013-04-18 22:15 luckyboy1991 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1 #include <stdio.h> 2 #include <string.h> 3 4 typedef struct node 5 { 6 int next; 7 int data; 8 }*Node; 9 10 void modify(Node l) 11 { 12 printf("l = %d, &l = %u\n",l,&l); 13 l->data = 1; 14 l->next = 1; 15 (*l).data = 10; 16 (*l).next = 100; 17 } 18 19 Node MM(No 阅读全文
posted @ 2013-04-18 22:13 luckyboy1991 阅读(161) 评论(0) 推荐(0) 编辑
  2013年4月15日
摘要: 用C++实现了大整数的加,减,乘,低精度除法,高精度除法。。。。还有递归实现的,while循环实现的,大整数快速幂~~正确性,只能说AC过几道大数,加, 乘法, 快速幂,低精度除法题目~~是否有其他BUG,未知~~~~算法说明:高精度乘法用的是,模拟手算高精度除法用的是相减法所以,没有什么高深算法,大数据肯定会超时。。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #include <algorithm> 5 #include <iostream> 阅读全文
posted @ 2013-04-15 18:30 luckyboy1991 阅读(297) 评论(0) 推荐(0) 编辑
  2013年4月12日
摘要: 2 HDU 1271 整数对题意:http://acm.hdu.edu.cn/showproblem.php?pid=1271算法:对于输入的数P = pk 10^k + pk-1 10^k-1 + ..+ pt 10 ^ t + ..p1 N1 =ak 10^k + ak-1 10^k-1 + ..+ at 10 ^ t + ..a1 假设去掉第t位: N2 =ak 10^k-1 + ak-1 10^k-2 + ..+ at-1 10 ^ t-1 + ..a1 N1 + N2 = P 可以得到一系列等式 对于每一位取值,有两种可能,枚举删除第t... 阅读全文
posted @ 2013-04-12 14:00 luckyboy1991 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1.客户数量题目:http://www.acmore.net/problem.php?id=1485算法: 首先要证明把X分成全部为1,每次折办分最优。 用队列维护x,不断求X,分段求出前10000的数,否则会TLE 按到达时间 + 切糕时间排序~~代码:View Code #include <stdio.h>#include <algorithm>#include <stdlib.h>#include <string.h>#include <queue>using namespace std;#define MAXN 100010s 阅读全文
posted @ 2013-04-12 12:10 luckyboy1991 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1. 数字排列小Y得到了一个数,他认为相邻位上的数字与数字之间会产生不良影响,比如123,1和2之间产生一个不良影响值,2和3之间产生一个不良影响值。现在他想调整这个数每位的数字的顺序,使得最终得到的数的总的不良影响值最小,且没有前导0。对于每组数据输出一行一个数,表示最小的不良影响值。算法:枚举每一种可能,刚开始想用BFS写,记录前面节点已经走过哪些节点挺麻烦,要在node结构体内开个数组,估计会MLE~~就没写了~~ 其实用DFS,非常方便,一个简单的剪枝就可以了~~代码:View Code #include<stdio.h>#include<string.h>#i 阅读全文
posted @ 2013-04-12 09:26 luckyboy1991 阅读(148) 评论(0) 推荐(0) 编辑
  2013年4月11日
摘要: 1.LCIS题意:给你N个数,有两种操作,U a b, 将第a个数替换为b, Q a b查询第a个数到第b个数之间最长连续上升子序列算法:定义线段树的节点为如下:struct SEG{ int l, r, v; int M_len; //区间中间最多多长 int L_len,R_len,Lv,Rv; //区间最左多长,左边界值Lv, 区间最右多长,右边界值,Rv int lazy; //延迟操作 int len; //该区间的最长上升长度}seg[MAXN*4];核心函数updatevoid update(int root){ int l1 = LL(root); int ... 阅读全文
posted @ 2013-04-11 12:08 luckyboy1991 阅读(177) 评论(0) 推荐(0) 编辑
  2013年4月8日
摘要: 哈哈,一个有趣的问题,写一个单词拼写检查器,在微薄上看到的,各路大神用各种语言实现~~学习了一下人家代码:表示各种malloc,realloc, char **, 等等。。。。自己写静态写习惯了现在看动态都有点不习惯了。。我写了注释代码:原文:http://marcelotoledo.com/2007/08/10/how-to-write-a-spelling-corrector/View Code /* * spell.c --- spell corrector * * Copyright (C) 2007 Marcelo Toledo <marcelo@marcelotoledo.. 阅读全文
posted @ 2013-04-08 22:41 luckyboy1991 阅读(241) 评论(0) 推荐(0) 编辑