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

一些博客: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. poj3417lca+树上差分

    /* 给定n个点的树,在其中加入m条新边(称为非树边) 现在可以割断一条树边,一条非树边,使图分裂成两个联通块,请问有几种切割方式 对树边进行分情况讨论 如果树边不处在环中,则割断这条树边后可以割断任 ...

  2. uva11916 bsgs算法逆元模板,求逆元,组合计数

    其实思维难度不是很大,但是各种处理很麻烦,公式推导到最后就是一个bsgs算法解方程 /* 要给M行N列的网格染色,其中有B个不用染色,其他每个格子涂一种颜色,同一列上下两个格子不能染相同的颜色 涂色方 ...

  3. bzoj 1076

    发现自己已经把期望dp忘光了... 其实本质上非常简单,就是利用状压的思想跑期望 首先很容易设计出状态:记状态f[s][i]表示到了第i个点,之前已选过的点的状态为s时所能获得的最大期望得分 但是会发 ...

  4. 微信公众号开发调用自带地图 不显示(openLocation)

    1.需要在wx.config中声明需要使用的功能(openLocation) 例如: wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端aler ...

  5. 目标检测算法之YOLOv1与v2

    YOLO:You Only Look Once(只需看一眼) 基于深度学习方法的一个特点就是实现端到端的检测,相对于其他目标检测与识别方法(如Fast R-CNN)将目标识别任务分成目标区域预测和类别 ...

  6. hdfs数据到hive中,以及hdfs数据隐身理解

    hdfs数据到hive中: 假设hdfs中已存在好了数据,路径是hdfs:/localhost:9000/user/user_w/hive_g2park/user_center_enterprise_ ...

  7. github协作开发遇到的问题

    1.十一来了,帝都不好买票,30号就调休一天回去了,项目还没搞完,紧张的不行,就自己和同事搞了一个github协作开发,由于是功能和公司项目不是很沾边,但是是自己的主要工作,就和同事协调了一下,搭建了 ...

  8. 【转】Crosswalk入门

    原文:https://www.mobibrw.com/2015/1934 Crosswalk是一款开源的web引擎.目前Crosswalk正式支持的移动操作系统包括Android和Tizen,在And ...

  9. 【bzoj2023/1630】[Usaco2005 Nov]Ant Counting 数蚂蚁 dp

    题解: 水题 f[i][j] 前i种用了j个,前缀和优化就可以了

  10. 【bzoj3174】[Tjoi2013]拯救小矮人

    题解: 这题非常容易想到一个错误的贪心 就是按照ai排序 然后尽量取ai小的 但是有很明显的问题就是如果取了小的ai 那会导致那些原本可能存在这些ai就可以去掉的大的人因此不能取了 而有可能可以先去取 ...