迁移到Manjaro系统了

# 起因

由于openSUSE软件更新实在太慢以及对双显卡支持太差,暑假研究了下其他的滚动Linux发行版。以下是对比:

  • openSUSE的优点是稳定,缺点简直不可胜数:
    • 软件更新太慢(如火狐,goldendict等)
    • 需要加的源太多太麻烦,受版权掣肘,连多媒体源都不自带,更别提其他的了
    • 系统额外东西过多,不够KISS
  • Arch Linux安装太复杂,但是有巨大的AUR软件源,稳定性不好容易滚挂
  • Manjaro目前看来几乎没有缺点,而优点简直太多了
    • 安装比较简单
    • 系统稳定性足够好,内核更新的并不是很快,可以自由锁定/切换内核
    • 驱动支持非常好
    • 常用软件更新够快
    • 软件足够丰富,继承Archlinux的AUR
    • KDE用起来不错
    • 易用性好,可配置性很强
more ...

链表的伪头节点

本文介绍C语言中,如何无中生有,给链表创造出一个不占空间的伪头节点

# 基本定义

设我们有一个不带空头节点的链表,其节点定义为

//typedef int dtype;
typedef struct node{
    dtype data;
    struct node *next;
} node;

链表定义为

typedef struct linklist{
    node *head;
    //...
} linklist;
more ...

整数幂的求和

# 问题

计算对于给定的整数$k$,求$f(n, k)=\sum_{i=1}^n i^k$关于$n$的多项式表达式。例如

\begin{align} f(n, 0)&=n\\ f(n, 1)&=n(n+1)/2\\ f(n, 2)&=n(n+1)(2n+1)/6\\ f(n, 3)&=n^2(n+1)^2/4 \end{align}
more ...