Avatar_small

[HNOI2004]宠物收养所

Splay求前驱与后继,然后累加和即可。 书上的Splay求x的前驱与后继需要插入x之后才能求得前驱与后继。删除操作时把x与前驱或者后继删除即可。 #include <cstdio> #include <algorithm> #include <vector> #include <cstdlib> #inc...

Avatar_small

shadowsocks简易代理

以下是运行在windows的简易shadowsocks 第一步:下载shadowsocks包 第二步:解压 打开config.json配置帐号信息 帐号可从以下地方获取 http://boafanx.tabboa.com/boafanx-ss/ https://www.shadowsocks.net/get 配...

Avatar_small

怎样构建一个不依赖gcc/binutils的llvm/clang Linux工具链

本文不讲原理,只讲步骤。需要了解什么是unwind,crtbengin/end,ehtable以及libgcc_s/libgcc_eh或者c++abi/supc++的,请查阅相关文档。 1,Build llvm/clang/lldb/lld 3.5.0等组件 1.0 准备: 至少需要从llvm.org下载llvm, cfe, lldb, compiler-rt,...

Avatar_small

java无回显的密码输入

在java6中有一个新类Console,能够实现无回显输入,用于安全输入!以下是代码样例: import java.io.*; import java.util.*; public class ConsoleDemo { public static void main(String[] args) { Console console = Syste...

Avatar_small

Vim使用微软雅黑字体

加上编译选项 CFLAGS = $(CFLAGS) -DFEAT_PROPORTIONAL_FONTS

Avatar_small

java中使用private构造方法不能实现单例模式

众所周知,一般使用java实现单例模式有两种方法,分别为急切式(饥饿式)和双重加锁式,急切式就是在声明时即创建,这样在类加载时就已经创建好了,即时我们可能并不不需要它,它的生命周期是永久的,造成内存泄漏的可能!第二种方式是lazy的,只有在使用时创建,实现了延迟加载。代码为 1.急切式 class Singleton { private final static...

Avatar_small

Scala随机数生成及复杂Generator的构造

在程序中使用随机数的需求很普遍,有时候我们还需要用到一些更加复杂的随机数据结构,比如生成一个随机的列表或者二叉树等,探索性测试可以算一个典型的应用场景。 在Scala中生成一个随机整数有现成的函数可用:scala.util.Random.nextInt()。让我们看看我们如何基于它来用优雅简洁的程序构造一些更复杂的generator。 我们首先要对Generator的功...

Avatar_small

Splay伸展树

Splay伸展树 Splay是二叉查找树,不是一颗平衡树,但可以通过自调整达到一种近似平衡的情况。Splay在连续M次操作中均摊时间复杂度是M*logn,其中n为节点的个数,M为操作的次数。Splay的操作与特点将在以下介绍。 当访问一个节点时,立即把当前访问的节点旋转到根节点,让访问(插入)的节点立马成为新的根节点。 旋转操...

Avatar_small

java同步工具Phaser

从java7开始在concurrent包中加入了Phaser类,它几乎可以取代CountDownLatch和CyclicBarrier, 其功能更灵活,更强大,支持动态调整需要控制的线程数。下面以一个具体实例说明这个Phaser类的用处,相信理解这个例子后,其功能不言而喻。 例子:有若干考生参加考试,考试科目是统一的,考试顺序为语文、数学、英语共三门,若其中一门挂科,则不能参加...

Avatar_small

Tcl 实现伪闭包

proc lambda {vars args body} { set exvars [lmap var $vars { upvar $var localvar list $var $localvar }] lappend args {*}$exvars list apply [list $args $body] ...

Avatar_small

ext4文件系统浅析----跨度之大的inode号

最近在研究ext4文件系统,系统同道之人能共同研究、探讨 背景: 在根目录底下 root@f303server:/mnt/sde3# ls -i 14 2.txt 786433 dir1 1048577 dir3 1179649 mkfs 15 3.txt 917505 dir2 11 lost+found 13 sde3.txt ...

Avatar_small

linux中ext4文件系统目录项管理

Ext4文件系统目录项有两种实现方式: 方式一:线性方式 该方式的目录项以ext4_dir_entry_2的结构一个接连一个直接存储在目录结点所指向的block块中。(缺省配置使用ext4_dir_entry_2这个结构) 方式二:Hash树的方式 若目录下的文件数量很多,则若按照线性方式查找对应文件名的信息则会很低效。Hash...

Avatar_small

angularjs过滤器(number)

用来精确浮点数(指定小数点位数). 在html中用法 {{ number_expression | number : fractionSize}} 在js中用法 $filter('number')(number, fractionSize) 参数 number 待精确的数字 factio...

Avatar_small

判断端口通不通的几种方法

通常使用"telnet ip port"判断端口通不通. 有其它方法吗?先看下面的几种方法 准备环境 启动一个web服务器,提供端口. [wyq@localhost ~]$ python -m SimpleHTTPServer 8080 Serving HTTP on 0.0.0.0 port 8080...

Avatar_small

使用基数排序(Radix Sort)排序字符串

基数排序(Radix Sort)是 非比较排序算法,其时间复杂度是线性的, 即\(O(n)\)。刚刚接触这个算法的时候,本以为该算法只适合输入时非负整数的情况, 不过最近在整理以前写的排序算法的Demo时,偶然想到该算法应该也可以用于字符串的排序。 根据算法的特点,直观感觉是:待排序字符串应该都是等长的。不过, 只要稍加改造,该算法也可以用于不等长字符串排序。