天平比较找出轻球

用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的(条件是y个球中y-1个重量相等,其他一个轻),
使用x 次天平,最多可以从y 个小球中找出较轻的那个,求y 与x 的关系式。

其实,这是一个“三分查找问题”。

当y=3时,x=1(一次称重即可):

3个球中任选两个放到天平两端,若相等,则没称的那个是轻球。

若有一个轻,则轻的就是。

递归可以分析出来x = log3(y)。

 [......]

继续阅读

Python操作MySQL数据库

Python中居然没有内置操纵MySQL数据库的包。

Python中操作MySQL的第三方包很多,本文使用的是MySQL-python 1.2.3。

此接口是符合PEP 249的,即Python通用的数据库操作标准(类似JDBC)。

1、下载、安装
# Download
wget http://downloads.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz[......]

继续阅读

轻量级JavaEE企业应用实战(SSH框架) - 读书笔记 - 第一章

本章主要是JSP和Servlet,很多细节以前真没注意过。

1、JSP同Servlet本质是一样的。JSP最终必须编译成Servlet才能运行。

2、早期的J2EE应用,都是JSP为主组成的。但随着业务逻辑不断复杂,JSP充当过多角色就显得不合适了。如今J2EE应用中,JSP已经变成单一的表现层计数,不再包含逻辑组件和持久层逻辑。

3、构建Web应用,一个构建的应用目录应该如下:

<xxxx> - Web应用名称、可以改变

| -  <a.jsp&[......]

继续阅读

求比赛排名

n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,
存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。

所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,
比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......

胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,
下一轮由上一轮的胜者按照顺序,再[......]

继续阅读

MongoDB持续灌入大数据遇到的一些问题

首先这类NoSQL数据库的设计宗旨基本是“读多写少”。

而我们的需求是:有一大批数据(5亿条记录,每条100B左右)。需要灌入MongoDB。

考虑到数据规模,事先已经做好了Sharding,10台机器。

1、并发12进程,持续灌入数据。

一开始速度很快,基本10W/s,到了1亿6千万左右,开始变成龟速。经过仔细检查,mongos中报大量如下错误:
Wed Jun 6 16:56:41 [conn33] warning: splitChunk failed - cmd[......]

继续阅读