for the algorithms and cominbatorics course at Tsinghua University, fall 2014