没什么好写的。。(懒得补)

一些博客:http://www.cnblogs.com/GuessYCB/p/9090878.html

http://www.cnblogs.com/fenghaoran/p/remember.html

DP

四边形不等式

参考

一般对于如下形式状态转移方程:\(f[i][j]=\min\ or\ \max(f[i][k-1],f[k][j])+cost[i][j]\),\(i<j\)且\(i<k\leq j\)。

1. 四边形不等式

  若一个函数\(cost[i][j]\),满足 \(cost[i][j]+cost[i'][j']\leq cost[i][j']+cost[i'][j]\),其中 \(i\leq i'<j\leq j'\),则称\(cost\)满足凸四边形不等式。(可理解为两交错区间之和不超过大区间与小区间之和)

2. 区间包含的单调性

  若一个函数\(cost[i][j]\),满足 \(cost[i'][j]\leq cost[i][j']\),其中 \(i\leq i'<j\leq j'\),则称\(cost\)关于区间包含关系单调。(可理解为被包含的小区间\(cost\)之和不超过大区间)

3. 定理一

  若\(cost\)同时满足四边形不等式和区间单调关系,则 \(f\) 也满足四边形不等式。

4. 定理二(关键)

  若 \(f\) 满足四边形不等式,则决策单调,即 \(P[i][j-1]\leq P[i][j]\leq P[i+1][j]\) 或 \(P[i-1][j]\leq P[i][j]\leq P[i][j+1]\) 等,此处可据需要表示,只要 \(P\) 符合单调即可。据此可以缩小决策枚举区间,进行优化。

5. 定理三

  \(cost\)为凸当且仅当 \(cost[i][j]+cost[i+1][j+1]\leq cost[i+1][j]+cost[i][j+1]\)。

  据此可以简单验证cost是否满足凸四边形不等式,将 \(i'\) 具体为 \(i+1\),\(j'\) 具体为 \(j+1\),然后对式子变形,再固定一个变量,看做一个一元函数,进而判断单调性。如可变形为 \(cost[i+1][j+1]-cost[i+1][j]\leq cost[i][j+1]-cost[i][j]\),固定 \(j\),看 \(cost[i][j+1]-cost[i][j]\) 是关于 \(i\) 递增还是递减,若是递增,则cost为凸。

  实际中大多只需打表观察cost是否满足四边形不等式、是否单调即可。具体可以见上面的链接。。(懒得再写)

数论 & 数学

见这儿

数据结构

树链剖分

1. 如果边 u->v 为轻边,那么 \(size[v]\leq size[u]/2\)。

证明:若 \(size[v]>size[u]/2\),那么 u->v 会成为一条重边。

2. 树中任意两个节点之间的路径中重链、轻边的条数均不会超过\(log_2n\),即树上任意一条链由不超过\(log_2n\)条重链和轻边组成。

证明:从根到任意非根节点 每遇到一条轻边,size至少会减半。

### 左偏树的性质及$O(n)$的构造
[就粘个链接吧](http://www.yhzq-blog.cc/%e5%b7%a6%e5%81%8f%e6%a0%91%e5%ad%a6%e4%b9%a0%e6%80%bb%e7%bb%93/)。

图论

重心 直径的性质(参考:这里这里,以及平时做的一些题)

  1. (定义)删去重心后的树尽可能平衡,即以重心为根,所有子树大小都不超过整棵树的一半。
  2. 树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个距离和,他们的距离和一样。例:BZOJ3510 首都.
  3. 把两棵树通过某一点相连得到一颗新的树,新的树的重心必然在连接原来两棵树重心的路径上。
  4. 一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。
  5. 树的中心一定在直径的中点上。树的中心是到最远点的距离最小的点。
  6. 从树上任意一个点 \(dfs\),所到达的所有最远的点都是直径的端点。
  7. 树的所有直径必交于某一点或某条边。

### 二分图
**1. 若一个图不存在奇环,那么这是二分图;如果含有奇一定不是二分图是二分图。(二分图中的环只能是偶环,无奇环)**


### 竞赛图
**Defination:**每对顶点之间都有一条(有向)边相连的有向图。
**性质:([证明见这](http://www.cnblogs.com/SovietPower/p/8461802.html))**
**1. 竞赛图一定存在哈密顿通路,强连通竞赛图一定存在哈密顿回路(强连通为其充要条件)。**
**2. $(n\geq 3\ ,3\leq i\leq n)$ n个点的强连通竞赛图中包含有长度为i的简单环。**
**3. 竞赛图缩点后一定是条链。**


### 平面图
**Defination:**若能将无向图G=(V,E)画在平面上使得任意两条无重合顶点的边不相交,则称G是平面图。
link: [可平面图--百度百科](https://baike.baidu.com/item/%E5%8F%AF%E5%B9%B3%E9%9D%A2%E5%9B%BE/19138688?fr=aladdin)
**性质:平面图的边数 $m\leq3*n-6$.**
应用:在平面图中将边数降到$O(n)$级别,如[BZOJ1997](http://www.cnblogs.com/SovietPower/p/8487571.html).


### 双连通分量
**Point(Edge) Biconnected Component)**
**Defination:**双连通分量分双连通分量和边双连通分量两种。若一个无向图中的去掉任意一个节点(一条边)都不会改变此图的连通性,即不存在割点(桥),则称作点(边)双连通图。
link: [双连通分量--百度百科](https://baike.baidu.com/item/%E5%8F%8C%E8%BF%9E%E9%80%9A%E5%88%86%E9%87%8F/5339004?fr=aladdin)
**性质1:如果一个双连通分量内的某些顶点在一个奇圈中(即双连通分量含有奇圈),那么这个双连通分量的其他顶点也在某个奇圈中;**
**性质2:如果一个双连通分量含有奇圈,则他必定不是一个二分图。反过来也成立,这是一个充要条件。**

字符串

后缀自动机

  https://www.cnblogs.com/SovietPower/p/9118563.html。

复杂度分析

1.

大\(O\):

  我们用记号\(O(n)\)表示一个量时(这个量关于\(n\)的阶不超过\(n\)的阶),它本身是否真的包含阶为\(n\)的项,都是不确定的。

                               ——巴赫曼

公式$$f(n)=O(g(n)),对所有n成立 \tag{1}$$

表示存在一个常数\(C\),使得$$|f(n)|\leq C|g(n)|,对所有n成立 \tag{2}$$

大\(\Omega\):

大\(O\)给出了函数增长的上界,而下界有另外的一个记号,即大\(\Omega\)。

\[f(n)=\Omega(g(n))\Leftrightarrow|f(n)|\geq C|g(n)|\ \ \ \ 对某个C>0 \tag{3}
\]

大\(\mathcal O\):

大\(\mathcal O\)指出精确的增长的阶:$$f(n)=\mathcal O(g(n))\Leftrightarrow f(n)=O(g(n))且f(n)=\Omega(g(n)) \tag{4}$$

小\(o\):

爱德蒙·兰道曾创立过一个“小\(o\)”记号,$$f(n)=o(g(n))\Leftrightarrow|f(n)|\leq\varepsilon|g(n)|\ \ \ \ 所有n\geq n_0(\varepsilon)以及所有常数\varepsilon>0 \tag{5}$$

2. 均摊\(\leq\)严格\(<\)期望

  (非持久化下)均摊 \(O(n)=\) 严格 \(O(n)\)。

  期望 \(O(n)\) 仅在数据随机情况下 \(O(n)\),但是好像很难卡掉?

3. 启发式合并的总复杂度为 \(O(n\log n)\),因为每个点最多被合并 \(O(\log n)\) 次。

  每个点被从小集合合并到大的集合中时,它的集合大小会翻倍。

  支持finger search的数据结构启发式合并都是一个\(\log\)的,比如splay。

4. 复杂度均摊的数据结构不能实现可持久化。

5. LCT的本质是用Splay维护链剖分。LCT不用别的平衡树维护是因为Splay均摊分析下是\(O(\log n)\),其它平衡树是\(O(\log^2n)\)。

6. 形如这样的树形DP的复杂度:

void DFS(int x,int fa)
...
DFS(v=son[x],x); for(int i=0; i<=size[x]; ++i)
for(int j=0; j<=size[v]; ++j)
tmp[i+j]=f[x][i]*f[v][j];
size[x]+=size[v];
...

复杂度是\(O(n^2)\)的。可以理解为每个点对只会在LCA处被统计一次,也可以归纳:

\(T(a+b)=T(a)+T(b)+ab\\\frac{(a+b)^2}{2}=\frac{a^2}{2}+\frac{b^2}{2}+ab\)

所以\(T(n)=\frac{n^2}{2}\)

或者:

7. 我个人对线段树合并复杂度的感性证明...(为啥这几段引用不能合起来啊)

每次合并两棵树,代价是两棵树的公共节点数,设它是\(x\)。

在合并完两棵树后,这两棵树的\(2*x\)个公共节点被合并成了\(x\)个,相当于删掉了\(x\)个点。

所以合并的代价(复杂度)就是,被合并点的点的个数,也就是删掉的点的个数。

而要删掉这个点就要先存在这个点,初始一共有\(n\log n\)个节点,所以删掉点的个数不会超过\(n\log n\),所以总复杂度不会超过\(n\log n\)。


如果初始是对每个节点进行一次区间修改,和插入单点一样只会影响\(\log n\)个点,所以初始还是一共最多有\(n\log n\)个点。


另外复杂度也不完全是公共节点数,因为还要从它往下一层才知道它是公共节点。

也许是这个能卡些线段树合并的复杂度吧,但是影响不大不管了。

8. \(\frac{2^{2n}}{C_{2n}^n}=O(\sqrt n)\)。

Some Conclusions.的更多相关文章

  1. Spring Data JPA Tutorial Part Nine: Conclusions(未翻译)

    This is the ninth and the last part of my Spring Data JPA tutorial. Now it is time to take a look of ...

  2. BAYESIAN STATISTICS AND CLINICAL TRIAL CONCLUSIONS: WHY THE OPTIMSE STUDY SHOULD BE CONSIDERED POSITIVE(转)

    Statistical approaches to randomised controlled trial analysis The statistical approach used in the ...

  3. Conclusions about Deep Learning with Python

     Conclusions about Deep Learning with Python  Last night, I start to learn the python for deep learn ...

  4. <2014 12 28> Some conclusions and thought recently

    Since last year August when I started to prepare for the IELTS examiation, it took one year's time f ...

  5. Automated Memory Analysis

    catalogue . 静态分析.动态分析.内存镜像分析对比 . Memory Analysis Approach . volatility: An advanced memory forensics ...

  6. 1Z0-050

    QUESTION 13 View the Exhibit.Examine the following command that is executed for the TRANSPORT table ...

  7. Hadoop 全分布模式 平台搭建

    现将博客搬家至CSDN,博主改去CSDN玩玩~ 传送门:http://blog.csdn.net/sinat_28177969/article/details/54138163 Ps:主要答疑区在本帖 ...

  8. OpenCASCADE Quaternion

    OpenCASCADE Quaternion eryar@163.com Abstract. The quaternions are members of a noncommutative divis ...

  9. Mesh Algorithm in OpenCascade

    Mesh Algorithm in OpenCascade eryar@163.com Abstract. Rendering a generic surface is a two steps pro ...

随机推荐

  1. flower

    问题 D: flower 时间限制: 1 Sec  内存限制: 128 MB 题目描述 又是一年教师节,有n个小朋友打算去看望花老师.去看花老师当然要买花咯,不过某些土(xue)豪(ba)买了太多的花 ...

  2. WIN 7 使用shutdown命令设置电脑自动关机

    使用组合键“WIN + R”,在弹出的对话窗“运行”中输入“cmd”,点击“确定”按钮或直接按回车键“Enter”.  设置电脑在一定时间后关机,比如60分钟,在弹出的对话框中,输入“shutdown ...

  3. haproxy admin_stats端口启动错误解决

    /var/log/message里的错误消息大概如下: Feb 13 09:32:50 cluster-node2 haproxy-systemd-wrapper: [ALERT] 043/09325 ...

  4. 执行shell文件是,提示chmod: 更改'./shell1.sh' 的权限: 不允许的操作。

  5. kickstart-G

    感觉自己很蠢,large数据只能交一次,忘记这回事了 A题 O(n^2)解法,用vector<set> 缓存j后面的数据,减少一重循环 #include <string> #i ...

  6. 【BZOJ4712】洪水

    题解: 注意题目说了每个点的权值只能增加 每个点的dp方程比较简单 min(v[i],sum[i]) 那么我们考虑如果v[i]增加那么上面使用sum[i]的会带来影响 暴力的做就是一个个往上查然后修改 ...

  7. alpha冲刺5/10

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:冲刺5 团队部分 后敬甲(组长) 过去两天完成了哪些任务 文字描述 最近事情有点多,只是跟进了下进度,写了写博客 接下来 ...

  8. Comparison of several types of convergence

    In functional analysis, several types of convergence are defined, namely, strong convergence for ele ...

  9. JMeter命令行监控CPU和内存资源

    首先确定Agent启动成功 客户端

  10. vsftp 基于虚拟用户的ftp服务器 如何做配额

    做配额的方法: 1,是用磁盘配额,但是虚拟用户好像没有好办法.只能应用于本地用户.与Vsftpd设置无关 2,文件夹限制大小,是占用的.这和Vsftpd没有关系 所以可以先把用户禁锢在自己工作目录里面 ...