[HNOI2004]宠物收养所
Splay求前驱与后继,然后累加和即可。
书上的Splay求x的前驱与后继需要插入x之后才能求得前驱与后继。删除操作时把x与前驱或者后继删除即可。
#include <cstdio>
#include <algorithm>
#include <vector>
#include <cstdlib>
#inc...
shadowsocks简易代理
以下是运行在windows的简易shadowsocks
第一步:下载shadowsocks包
第二步:解压
打开config.json配置帐号信息
帐号可从以下地方获取
http://boafanx.tabboa.com/boafanx-ss/
https://www.shadowsocks.net/get
配...
怎样构建一个不依赖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,...
java无回显的密码输入
在java6中有一个新类Console,能够实现无回显输入,用于安全输入!以下是代码样例:
import java.io.*;
import java.util.*;
public class ConsoleDemo {
public static void main(String[] args) {
Console console = Syste...
java中使用private构造方法不能实现单例模式
众所周知,一般使用java实现单例模式有两种方法,分别为急切式(饥饿式)和双重加锁式,急切式就是在声明时即创建,这样在类加载时就已经创建好了,即时我们可能并不不需要它,它的生命周期是永久的,造成内存泄漏的可能!第二种方式是lazy的,只有在使用时创建,实现了延迟加载。代码为
1.急切式
class Singleton {
private final static...
Scala随机数生成及复杂Generator的构造
在程序中使用随机数的需求很普遍,有时候我们还需要用到一些更加复杂的随机数据结构,比如生成一个随机的列表或者二叉树等,探索性测试可以算一个典型的应用场景。
在Scala中生成一个随机整数有现成的函数可用:scala.util.Random.nextInt()。让我们看看我们如何基于它来用优雅简洁的程序构造一些更复杂的generator。
我们首先要对Generator的功...
Splay伸展树
Splay伸展树
Splay是二叉查找树,不是一颗平衡树,但可以通过自调整达到一种近似平衡的情况。Splay在连续M次操作中均摊时间复杂度是M*logn,其中n为节点的个数,M为操作的次数。Splay的操作与特点将在以下介绍。
当访问一个节点时,立即把当前访问的节点旋转到根节点,让访问(插入)的节点立马成为新的根节点。
旋转操...
java同步工具Phaser
从java7开始在concurrent包中加入了Phaser类,它几乎可以取代CountDownLatch和CyclicBarrier, 其功能更灵活,更强大,支持动态调整需要控制的线程数。下面以一个具体实例说明这个Phaser类的用处,相信理解这个例子后,其功能不言而喻。
例子:有若干考生参加考试,考试科目是统一的,考试顺序为语文、数学、英语共三门,若其中一门挂科,则不能参加...
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]
...
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
...
linux中ext4文件系统目录项管理
Ext4文件系统目录项有两种实现方式:
方式一:线性方式
该方式的目录项以ext4_dir_entry_2的结构一个接连一个直接存储在目录结点所指向的block块中。(缺省配置使用ext4_dir_entry_2这个结构)
方式二:Hash树的方式
若目录下的文件数量很多,则若按照线性方式查找对应文件名的信息则会很低效。Hash...
angularjs过滤器(number)
用来精确浮点数(指定小数点位数).
在html中用法
{{ number_expression | number : fractionSize}}
在js中用法
$filter('number')(number, fractionSize)
参数
number 待精确的数字
factio...
判断端口通不通的几种方法
通常使用"telnet ip port"判断端口通不通. 有其它方法吗?先看下面的几种方法
准备环境
启动一个web服务器,提供端口.
[wyq@localhost ~]$ python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080...
使用基数排序(Radix Sort)排序字符串
基数排序(Radix Sort)是 非比较排序算法,其时间复杂度是线性的, 即\(O(n)\)。刚刚接触这个算法的时候,本以为该算法只适合输入时非负整数的情况, 不过最近在整理以前写的排序算法的Demo时,偶然想到该算法应该也可以用于字符串的排序。 根据算法的特点,直观感觉是:待排序字符串应该都是等长的。不过, 只要稍加改造,该算法也可以用于不等长字符串排序。