Binary Index Tree (BIT)

摘要: Binary Index Tree (BIT)是种数据结构,支持两种操作:1. update(index,value): A[index]+=value.2. sum(index): return A[1]+...+A[index]. (从A[1]开始,不是A[0])我们发现update的复杂度是O(1),而sum的复杂度为O(n)。然而,当我们需要频繁调用sum时,O(n)的复杂度就不那么满意了。BIT这种数据结构,对于update和sum的复杂度都为O(log n)。这是使用BIT的原因。BIT的介绍在下面:http://community.topcoder.com/tc?module=S 阅读全文
posted @ 2013-04-07 19:36 wujie27 阅读(229) 评论(0) 推荐(0)

腾讯编程马拉松初赛第一场(2013.3.20)

摘要: 题目地址:http://wenku.baidu.com/view/bb74cced9b89680203d825f2.html总体偏容易,看看代码基本就搞懂了。1001简单题,代码略。1002背包问题的一个变形,参看《背包九讲》:http://wenku.baidu.com/view/519124da5022aaea998f0f22.htmlView Code #include <iostream>#include <string>#include <set>#include <algorithm>#include <stack>#in 阅读全文
posted @ 2013-03-30 11:43 wujie27 阅读(161) 评论(0) 推荐(0)

Locality Sensitive Hashing

摘要: 对于nearest neighbor search,一个很重要的问题是维数灾难(curse of dimensionality)。 ANN算法是提高搜索速度的一种方法。LSH 是最有名的ANN算法之一。假设原空间数据$x$是$d$维,常见的做法是用hash函数,$g_i(x)\to\{0,1\}^{d*}$,总共有l个hash函数$g_1..g_l$,因此我们把输入x映射到了${g_1(x),...g_l(x)}$。用此种方法把数据库中的每个元素$x$,映射到$g_1(x)...g_l(x)$ 这 $l$个数值(或向量),就像分别掉到了$l$个桶中一样。每个桶中的数值的规模就比较小。对于查询数 阅读全文
posted @ 2013-03-30 10:46 wujie27 阅读(195) 评论(0) 推荐(0)

如何掌控自己的时间和生活(how to get control of your time and your life)读书笔记

摘要: 写出人生目标尽快写出人生目标,并及时更新。(人生目标应该对人是很重要的,但是有一部分人很难写出人生目标,这很可能是因为懒惰或拖延。)利用时间“不要一味追求投入更多时间,要注重效率,养成在固定时间内完成工作的习惯”(事情往往不是以时间来衡量,而是以效率*时间)在效率低时,马上休息放松(长时间的低效等于浪费时间,而休息并不是浪费时间)入睡时选择一个问题思考(醒来时发现对这个问题的理解加深了)关于列清单“不要为无法完成所有任务而焦虑。”(列清单的目的是最大程度地提高时间利用率,而非完成这些任务。)总是先做重要程度最高的事。(80/20)每件事尽量一次完成。(省去切换任务的时间)有人打断怎么办?坚决果 阅读全文
posted @ 2013-03-10 12:00 wujie27 阅读(228) 评论(0) 推荐(0)

hello world

摘要: hello world :) 阅读全文
posted @ 2013-02-17 20:30 wujie27 阅读(119) 评论(0) 推荐(0)