最近有在Ubuntu
系统上连接L2TP/IPsec协议的VPN的需求,所以在网上搜了一波,发现一名叫做Werner Jaeger
的大神开发了一款名叫 l2tp-ipsec-vpn
的软件可以解决这个问题。但是在 Ubuntu16.04LTS
系统上,这个款软件的软件源已经不存在,后来在 Enabling L2TP over IPSec on Ubuntu 16.04 这里看到了解决方法,为了做个备份写下这篇博客。
伸展树(SplayTree)
树状数组
C++虚函数与多态性
写在前面
本文转自 http://www.cppblog.com/dawnbreak/archive/2009/03/10/76084.aspx 感谢作者
总觉得C++很神奇,在继承和多态性方面比JAVA要灵活的许多,今天看到了上面这个介绍虚函数的文章觉得写的很好,分享到这里。
解决ubuntu下sublime中无法输入中文的问题
sublime是一款非常好用的代码编辑器, 支持多种语言的语法高亮, 支持多种插件拓展, 但是最近在使用sublime写博客的时候发现, 不能在里面输入中文, 特地找了一波方法, 现整理如下:
ubuntu 安装 deb 的方法
ubuntu 安装 deb 软件包的方法有两种
- 直接双击 deb 文件, 此时会自动调用系统的软件中心然后根据提示进行安装
- 作为程序员当然要用一种逼格高的方法来解决这个问题——用命令行来安装。ubuntu 下可以使用 dpkg 命令来安装, 下面是 dpkg 常用的几个命令:
POJ1273(Drainage Ditches)
题目链接:http://poj.org/problem?id=1273
题目大意:
下雨的时候约翰的田里总是积水,积水把他种的三叶草给淹了,他于是做了若干排水沟,每条沟在起始处安置一个阀门来控制这条沟的最大排水量,现在给出沟的条数以及阀门的个数。并给出每条沟的最大排水量。约翰的田里的积水处是阀门1,排出水的位置是最后一个阀门。求约翰在处理积水时的最大排出量。
网络流入门
基本概念(从书上摘抄,可以直接跳过不看)
容量网络和网络最大流
** 容量网络: ** 设 G(V, E)
是一个有向网络, 在 V 中指定了一个顶点, 称为源点(记为 Vs ), 以及另一个顶点, 称为汇点(记为 Vt); 对于每一条弧 <u, v>∈E
, 对应有一个权值 c(u, v)>0, 称为弧的容量
, 通常把这样的有向网络 G 称为容量网络。
也就是指: 一个拥有源点、汇点并且可以容纳流量的图.
** 弧的流量: ** 通过容量网络 G 中每条弧 <u, v>
上的实际流量(简称流量), 记为 f(u, v)
。
** 网络流: ** 所有弧上流量的集合 f = { f(u, v) }
,称为该容量网络 G 的一个网络流。
** 可行流: ** 在容量网络 G(V, E)
中, 满足以下条件的网络流 f, 称为可行流:
- ** 弧流量限制条件: ** $ 0 ≤ f(u, v) ≤ c(u, v)$
- ** 平衡条件: ** 除了 Vs, Vt 外, 其余的点流入的流量总和等于流出的流量总和, 其中
Vs 流出的流量总和 - 流出的流量总和 = f
,Vt 流入的流量总和 - 流出的流量总和 = f
, 并且称f
为可性流的流量.
也就是指: 在图中有一条从 Vs 到 Vt 的路径, 这条路径上起点 $f_o - f_i = f$, 终点 $f_i - f_o = f$, 其他的点 $f_i == f_o$, 并且所有的边的当前流量小于等于最大流量.(其中 $f_i$ 代表流入流量, $f_o$ 代表流出流量)