摘要:
最小费用最大流 #include <cmath> #include <iostream> #include <cstdio> #include <string> #include <cstring> #include <vector> #include <algorithm> #include <q 阅读全文
摘要:
【一. 期望DP的初步介绍】 数学期望 P=Σ每一种状态*对应的概率。 大多数题 手动找公式 或者 DP推出 即可。 处理好边界,写好方程,代码超级简短。 【注意】与常规的求解不同,数学期望经常 逆向推出 。 常规的dp[x]可能表示 到了x这一状态有多少,最后答案是dp[n] 。 而数学期望的dp 阅读全文
摘要:
虚树,就是不真实的树。往往出现在一类树形动态规划问题中。 换句话说,虚树就是为了解决一类树形动态规划问题而诞生的。 【例题1】[SDOI2011]消耗战 给出一棵树,每条边有边权。有m次询问,每次询问给出k个点。 问使得这k个点均不与1号点(根节点)相连的最小代价。 数据范围:n<=250000, 阅读全文
摘要:
【相关概念详解】 闭合图:有向图的一个点集,且这个点集的所有出边仍然指向该点集。 最大权闭合图:(每一个点有一个权值)在所有的合法闭合图中,点权之和最大的图。 处理问题:权值有正有负,重复选只算一次,选择有相互关联性 的问题。 首先有一个有向连通图(闭合图),每个点带有一个权值,例如: 造出一个超级 阅读全文
摘要:
斯坦纳树的简介 斯坦纳树就是在给定边集中找最短网络(给定点+扩展点)使给定点联通。 包含给定K个节点的最小生成树,一般K很小,在网格图上。 f[i][s]表示以点i为根,已和s集合里的点联通的生成树的最小代价。 【例题】[WC2008] 游览计划 DP の 两种转移方案 1. i的不同子树的合并,f 阅读全文
摘要:
半平面交的相关定义 给出若干个半平面,求它们的公共部分。 其中每个半平面用一条有向直线表示,它的左侧就是它所代表的半平面。 半平面交通常是一个凸多边形,也有时候会得到一个无界多边形, 甚至是线段、直线、点或“空”,无论怎样结果一定是“凸”的。 增量法求半平面交 一般用一个很大的矩形(4个半平面的交) 阅读全文
摘要:
欧拉函数的定义 ϕ(n):对于整数n,小于等于n、且与n互质的正整数的个数。 欧拉函数的计算方法 √n计算单值欧拉函数:计算ϕ(n),分情况讨论。 1.当n=1时,很明显,答案为1。 2.当n为质数时,根据素数的定义,答案为n−1。 3.当n为合数时,对n进行质因数分解:设n=a1^p1∗a2^p2 阅读全文
摘要:
因为弃置了 四边形不等式优化 ,所以DP的任务还剩下 基环树DP / 插头DP / 动态DP 当然,树形DP / 状压DP / 数位DP / 斜率优化DP 也还是要练习的...... 一 . 基环树的定义 基环树:无向图,在一颗树的基础上,添加一条边。环上每个点都是树根。 如果进行正常的DP,在环中 阅读全文
摘要:
一. 概念总结 【 Link-Cut Tree 】一种 动态维护森林上的信息 的数据结构,适用于动态树问题。 采用类似树链剖分的轻重边路径剖分,把树边分为实边和虚边,并用 Splay 来维护每一条实路径。 LCT用很多个splay维护森林的信息。因为splay是二叉树,所以要将原森林”剖分”成很多个 阅读全文
摘要:
树链剖分 树链剖分是一种优化,将树上最常经过的几条链划为重点,用线段树来优化区间修改和查询。 并且因为在一棵子树中dfs序是连续的,并且在任意一条重链上,dfs序也是连续的, 可以认为轻链是单点修改,重链是区间修改,轻重分明,时间复杂度O(Nlog2N)。 【概念简述】 即如图所示: 即: 【原理分 阅读全文