自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(41)
  • 收藏
  • 关注

转载 博客迁移

新博客地址:Colythme转载于:https://www.cnblogs.com/Colythme/p/10332251.html

2019-01-28 23:34:00 92

转载 [WC2008]游览计划 「斯坦那树模板」

斯坦那树百度释义斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。即最小斯坦那树即为并非选择所有的结点,而是选择一部分结点,为保证它们连通,且求解最小开销题解斯坦那树模板发现直接表示点的存在性没有意义设函数 \(f[i][state]...

2019-01-27 23:25:00 108

转载 [SDOI2009]HH去散步 「矩阵乘法计数」

计数问题也许可以转化为矩阵乘法形式比如若该题没有不能在一条边上重复走的条件限制,那么直接将邻接矩阵转化为矩阵乘法即可故矩阵乘法计数对于计数问题,若可以将 \(n\) 个点表示成 \(n \times n\) 的矩阵,并且可以保证中途转移对象不会变化,即可用矩阵乘法计数至于该题那么考虑该题,加入了不能重复在一条边上走的限制,那么最简单的思想就是拆点,并且让改点屏蔽掉当前方向,但...

2019-01-22 18:16:00 112

转载 [HNOI2007]梦幻岛宝珠 「套路:分层 $DP$」

显然直接 \(01\) 背包会超时并且超空间套路:分层 \(DP\)「考虑将每个子结构看作一层(也就是包含了不止 \(1\) 个物品的信息),并且大层不会对小层造成影响,可以考虑先进行每一层的自我更新(即用当前层物品更新当前层答案),再进行层的合并,此时考虑低层对高层的影响」正题那么这题有一个特殊性质: \(V_i = a \times 2^b\)b值大的物品不会影响零碎剩余...

2019-01-21 12:14:00 89

转载 多项式求逆

首先定义多项式的度数 \(degA\) 为多项式 \(A(x)\) 的最高次数那么多项式 \(A(x)\) 的逆即为存在多项式 \(B(x)\) 使得条件满足:\[A(x)B(x) \equiv 1 \pmod{x^n}\]求解过程假设存在多项式 \(A(x)\) ,以及其逆 \(B(x)\) 满足条件 ,那么必定有\(A(x)B(x) \equiv 1 \pmod{x^{\le...

2019-01-18 08:22:00 273

转载 洛谷 3768 - 简单的数学题

根据Crash的数字表格,很容易可以将式子化简为\[\begin{aligned} Ans &= \sum\limits_{i = 1}^n \sum\limits_{j = 1} ij(i, j) \\ &= \sum\limits_{d = 1}^n d^3 \sum\limits_{k = 1}^{\left\lfloor\frac{n}{d}\right\rfl...

2019-01-16 20:48:00 112

转载 杜教筛

前置相关类型积性函数(注:以下皆为完全积性函数,即无需满足 \(x \perp y\) 即有 \(f(x)f(y) = f(xy)\)\(\epsilon (n) = [n = 1]\)\(id (n) = n\)狄利克雷卷积与莫比乌斯函数狄利克雷卷积与欧拉函数此处若以 $id $ 作单位元,则 \(1\) 为 \(\phi\) 的逆,即 \(\phi * 1 = id\)...

2019-01-16 16:32:00 76

转载 [国家集训队]Crash的数字表格

题意求 \(\sum\limits_{i = 1}^N \sum\limits_{j = 1}^M lcm (i, j)\)Solution易知,原式\[\sum\limits_{i = 1}^N \sum\limits_{j = 1}^M \frac{ij}{\gcd (i, j)}\]枚举 \(\gcd (i, j)\) ,且将 \(d\) 提出来得\[\sum\limi...

2019-01-16 11:04:00 82

转载 洛谷 2257 - YY的GCD

莫比乌斯反演半模板题很容易可以得到\[Ans = \sum\limits_{p \in prime} \sum\limits_{d = 1}^{\min (\left\lfloor\frac{a}{p}\right\rfloor, \left\lfloor\frac{b}{p}\right\rfloor)} \mu(d) \left\lfloor\frac{a}{pd}\right\...

2019-01-14 20:05:00 85

转载 Codeforces 600E - Lomsat gelral 「$Dsu \ on \ tree$模板」

With $Dsu \ on \ tree$ we can answer queries of this type:How many vertices in the subtree of vertex $v$has some property in $O (n \log n)$time (for all of the queries)?这题写的是轻重儿子(重链剖分)版...

2019-01-10 09:38:00 76

转载 树上莫队

首先有一道题王室联邦题目大意给定一棵树,将树分为大小范围为 $[B, 3B]$ 的连通块集,求方案树上分块方法之一类似贪心,用栈维护还没有在连通块中的子节点,对于递归到的当前的点 $p$ ,扫描它的子树,能拼凑就拼凑但是注意最后可能还会有一些点(一定包括根)剩下,那么将这些点并到最后一个连通块即可显然每个连通块都满足大小为 $[B, 3B]$核心代码...

2019-01-09 12:09:00 96

转载 洛谷 3676 - 小清新数据结构题

说实话这题写树剖 $LCT$ 什么的真的思想又不难又好实现的样子,但是我还是选择自虐选择了动态点分治那就两种做法都稍微提一下:树链剖分 / $LCT$很容易可以发现一个换根操作只会对当前根在原树(根为 $1$ )上的祖先一条链造成影响,也就是将它们的子树变成除当前链方向其它与之相连的点集,那么用树剖跳,用线段树维护一下原树上从上面来的和从下面来的,再将所有涉及的节点合并,并且删去...

2019-01-08 08:11:00 110

转载 洛谷 3613 - 睡觉困难综合征

该题是[NOI2014]起床困难综合征的树上加修改版先说说《起床困难综合征》,由于不同位运算之间不满足交换律,故必须按顺序执行操作考虑位运算套路 —— 拆位,对于未知的初始值,它的每一位也是未知的,所以可以用两个变量 $a_0, a_1$ 来当作初始值当前位为 $0$ 或 $1$ 时最终可以得到的值,最后贪心即可附上部分代码: 1 int a1 = 0, a2 = -...

2019-01-04 18:12:00 128

转载 SPOJ 16549 - QTREE6 - Query on a tree VI 「一种维护树上颜色连通块的操作」

题意有操作$0$ $u$:询问有多少个节点 $v$ 满足路径 $u$ 到 $v$ 上所有节点(包括)都拥有相同的颜色$1$ $u$:翻转 $u$ 的颜色题解直接用一个 $LCT$ 去暴力删边连边显然会 $T$那么只有两个颜色的话就可以建两棵 $LCT$ ,观察到每次单点修改颜色时其子树所包含连通块在原颜色树上与其父亲所代表连通块断开,所以可以看作断开与父节点的边(实际...

2019-01-04 09:29:00 208

转载 [SDOI2017]树点涂色

题意有操作:1 $x$把点 $x$到根节点的路径上所有的点染上一种没有用过的新颜色。2 $x$ $y$求 $x$到 $y$的路径的权值。3 $x$在以 $x$ 为根的子树中选择一个点,使得这个点到根节点的路径权值最大,求最大权值。题解因为观察到一个颜色一定是一条向根节点的链,也就是说一条链代表了一个信息,那么就可以用 $L...

2019-01-04 09:24:00 104

转载 BZOJ 3510 - 首都 「 $LCT$ 动态维护树的重心」

这题 FlashHu 的优化思路值得借鉴前置引理树中所有点到某个点的距离和中,到重心的距离和是最小的。把两棵树通过某一点相连得到一颗新的树,新的树的重心必然在连接原来两棵树重心的路径上。一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。一棵树最多有两个重心,且相邻;同时,拥有奇数个节点的树只有一个重心其实是树的重心本身...

2018-12-28 22:26:00 191

转载 BZOJ 2959 - 长跑

题意每个点有各自的权值,要求维护操作:动态加边、动态修改权值、询问在每个点只能经过一次的情况下两点间路程中的最大权值和题解首先对于一个静态的图,将其缩点,可以得到一棵树,那么两点间询问的答案即为它们之间经过的 $BCC$ 的权值和支持动态加边,就需要用到 $LCT$ 去维护 $BCC$如果两个点所在 $BCC$ 在不同树上,那么直接连边即可;反之,则说明形成了环,就暴...

2018-12-27 21:55:00 139

转载 [ZJOI2016]大森林

(貌似整个代码不能用 $makeroot$ ?是因为是有根树?)因为是区间操作,所以可以考虑在区间内与区间外的差异对于操作 $1$ ,可以看作一个生成节点包含了到下一个 $1$ 操作之间长出的节点,那么对于一个操作 $l, r$ ,相当于是在 $l$ 处将当前生成节点及其包含的节点整个移植到它更改后的位置,到 $r + 1$ 时再移植回去,所以可以考虑将一个 $1$ 操作分解为两...

2018-12-26 16:40:00 127

转载 [NOI2014]购票 「树上斜率优化」

首先易得方程,且经过变换有$$\begin{aligned} f_i &= \min\limits_{dist_i - lim_i \le dist_j} \{f_j + (dist_i - dist_j)p_i + q_i\} \\ f_j &= p_idist_j + f_i - dist_ip_i - q_i \end{aligned}$$在一条直线上时,斜...

2018-12-24 20:48:00 92

转载 [NOI2007]货币兑换 「CDQ分治实现斜率优化」

首先每次买卖一定是在某天 $k$ 以当时的最大收入买入,再到第 $i$ 天卖出,那么易得方程:$$f_i = \max \{\frac{A_iRate_kf_k}{A_kRate_k + B_k} + \frac{B_if_k}{A_kRate_k + B_k}\}$$再令$$\left\{\begin{aligned} x_k = \frac{Rate_kf_k}{A_kR...

2018-12-20 16:58:00 123

转载 [NOI2018]你的名字

主要题意求字符串$S$与$T$不同的子串总数题解先考虑$l = 1, r = |T|$的情况:因为任意子串为字符串前缀的某些后缀,那么令$Lim[i]$表示$T[1...i]$在$S$上所能匹配的最大长度,$Posi[i]$表示$T$的后缀自动机上的点$i$的$endpos$集合中最靠前的位置,那么答案即为$$Ans = \sum\limits_{i = 1}^{no...

2018-12-12 16:48:00 63

转载 BZOJ - 3277 - 串

题意现在给定你n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串(注意包括本身)。题解首先是广义后缀自动机,就是每次将$last$归为$Root$,从而将几个后缀自动机拼在一起处理那么现在需要知道每个字串在$n$个母串中的出现次数,所谓字串,就是所有前缀的所有后缀,所以可以顺着前缀走,那么通过$Parent$树找后缀,一直往上跳,那么...

2018-12-07 20:51:00 59

转载 [NOI2016]优秀的拆分

题意一串字符串的子串能够被拆分成不重叠的$AABB$($A, B$为该子串的子串)的方案数题解考虑对子串进行隔离处理,枚举隔离长度$l$那么在此隔离长度下若存在子串满足$AABB$,那么它必定横跨两个隔离点,那么此时求出每相邻两个隔离点的最长公共前缀$x$和最长公共后缀$y$(跑两遍$SA$求),那么若$x + y >= l$,那么必定可以构成$AABB$的子串(画...

2018-12-07 11:06:00 108

转载 $fhqTreap$

- $fhqTreap$与$Treap$的差异  $fhqTreap$是$Treap$的非旋版本,可以实现一切$Treap$操作,及区间操作和可持久化  $fhqTreap$非旋关键在于分裂与合并$(Split \ \& \ Merge)$- $Split$   分裂相当于将一棵平衡树分为两棵平衡树,比如可以以值$x$为分界线,即分为一棵权值均$\le x$的平衡...

2018-11-23 17:30:00 139

转载 狄利克雷卷积与莫比乌斯反演

- 概念引入  - 数论函数     指定义域为正整数的函数     定义其加法为逐项相加,即$(f + g)(n) = f(n) + g(n)$     定义其数乘为逐项相乘,即$(xf)(n) = x × f(n)$   - 单位元     单位元是集合中一种特别的元素,当单位元与其它元素相结合时,不会改变其它元素的值 ...

2018-11-16 23:12:00 141

转载 $NTT$(快速数论变换)

- 概念引入   - 阶     对于$p \in N_+$且$(a, \ p) = 1$,满足$a^r \equiv 1 (mod \ p)$的最小的非负$r$为$a$模$p$意义下的阶,记作$\delta_p(a)$   - 原根     定义:若$p \in N_+$且$a \in N$,若$\delta_p(a) = \phi(p)$,则称$a$为模...

2018-11-13 17:21:00 100

转载 $FFT$(快速傅里叶变换)

- 概念引入   - 点值表示     对于一个$n - 1$次多项式$A(x)$,可以通过确定$n$个点与值(即$x$和$y$)来表示这唯一的$A(x)$   - 复数     对于一元二次方程     $$x^2 + 1 = 0$$     在实数范围内无解,那么我们将实数范围扩充,就得到了复数,再令$i$为该方程的解,即 ...

2018-11-13 11:01:00 190

转载 线段树求树的直径

线段树求直径可以求任意子树(包括连子树都不算的分散节点集合)的直径,适用范围广。线段树的每个节点所对应的区间$[L, R]$,指代了$Dfn$在$[L, R]$内节点,其中线段树上每个节点存储了$diam$(当前区间直径)及$lp, \ rp$(当前直径对应的左右端点),每次$Merge$操作分为全左区间、全右区间和横跨两个区间作讨论,对于第三种情况,选择两侧原直径端点求$Dist$...

2018-10-31 09:22:00 169

转载 NOIP模拟赛 城市

题目描述$ZZQ$是一国之主。 这个国家有$N$个城市, 第$i$个城市与第$(i + 1) (mod N)$和$(i - 1) (mod N)$在一个正$N$边形相连。$ZZQ$又新建了$N - 3$条道路。这些道路都是连接两个城市的直线 段,且任意两条线段都只可能在城市处相交,不会在旧的道路上新建 道路。同时$ZZQ$钦定任何一条新旧道路通行都只需要花费$1$天时间。...

2018-10-29 23:13:00 132

转载 树状数组 / 二维树状数组

一维树状数组· 单点修改 + 单点查询:  直接使用即可· 区间修改 + 单点查询:  另外维护一个维护前缀和的树状数组,查询时查询与原值相加即可。· 区间修改 + 区间查询:  若要查询区间$[1, R]$的区间和,可推公式,其中$D[i]$表示差分数组:$\sum\limits_{i=1}^R \sum\limits_{j=1}^i D[j]$$...

2018-10-25 21:49:00 96

转载 zkw线段树

zkw线段树是对普通线段树的常熟优化版本,$≈$树状数组的常数。同时普通线段树是近似完全二叉树,而zkw线段树是满二叉树,且普通线段树自上而下访问,zkw线段树先找到叶子节点,自下而上进行访问。那么易得建树void Build () { for (M = 1; M <= N + 1; M <<= 1); for (int ...

2018-10-20 21:49:00 82

转载 [HNOI2014]世界树

· 题解  参考hzwer  首先看到Mi的条件想到构造虚树。  虚树中的一条边已经覆盖了整个出现在这条边上的点的子树的情况。  那么只需倍增查找所属议事处有变化的边界节点,同时计算这两段节点的贡献即可。· 代码 1 #include <iostream> 2 #include <cstdio> 3 #inclu...

2018-10-05 21:19:00 74

转载 关于二叉树形态种类数的证明

· 定理  $n$个节点二叉树形态种类数为$Cat (n)$。· 证明  很难通过简单递推得到答案,因为会产生重复的情况。  一般我们使用二叉树都是通过递归,故考虑从递归处得到启发。  对于任意$n$个节点的二叉树,它的左右子节点个数是可以被枚举的 —— $1 + (n - 1) / 2 + (n - 2)$...  所以可以通过递归实现,故ƒn = ƒ1 * ƒ...

2018-10-01 20:43:00 139

转载 [SHOI2014]概率充电器

· 题解  首先考虑设ƒi为i发光的概率,那么它可以从子节点、自身、和父节点传过来,但是,这是其中至少有一个通电的问题,也就是“或”,因为它们的目的是一样的——都是使当前通电,也就是说它们并不是互斥的状态,比如子节点和父节点都是50%,那么这个节点的通电概率就是$100%$了吗?显然不是,虽然有这个公式:                  难写,所以不接受。但是,假如我们只看...

2018-09-28 11:39:00 53

转载 [HNOI2015]落忆枫音

· 题意  对于一个DAG,在图中任意添加一条边,求可形成的树形图个数。· 题解  首先对于一个DAG,它们可形成的树形图的个数显然是各点入度相乘。  那么现在加入了一条边,可能会构成环,于是可以用总方案数减去不合法方案数(即构成环的方案数)。  本题解题的关键在于如何构造不合法方案,那么y -> x的所有路径都是不合法的,因为这样一定会构成一个环,那么此时其它...

2018-09-27 10:53:00 69

转载 朱 - 刘算法

· 定义  对于有向无环图$G (V, E)$,类似最小生成树的定义,有向图最小树形图即在有向图上查找总权值和最小的树形图(即有向边的树)。· 朱 - 刘算法  对于每个点先选取到达它的最小的边,这样可组成一个边集E1,显然,该边集权值和最小,但不一定是树。  在该边集上进行缩点,并判断是否有解(是否有点无入度,或若有根无出度),在融会$G$中,记为G1。  当然,若...

2018-09-26 23:36:00 150

转载 Kruskal重构树

大意:  Kruskal重构树即是将正常Kruskal算法中的最小生成树的边当作点,连接两个点集,且满足大(小)根堆性质,那么求两点间经过路径长度最值即它们的LCA的点权。证明:  对于两个集合,它们之间的路径最值即连通这两个集合的最值边,且边已经过排序,故显然满足条件。  证毕。经典用法:  · 求两点间路径最小(大)值的最大(小)值。  · 求当前点出...

2018-09-25 20:34:00 55

转载 BZOJ - Problem 3622 - 已经没有什么好害怕的了

题意:  给定两个序列$a$和$b$,让它们进行匹配,求出使得$a_i > b_j$的个数比$a_i < b_j$的个数恰好多$k$,求这样的匹配方法数题解:  这题的各种表示有一点相似又截然不同,很容易混淆。  直接求恰好满足$k$对不好求,所以先放宽条件,这样子有利于构造动规方程。  先用$f_{i, j}$表示在前$i$个中,至少选择$j$个$a &...

2018-09-25 07:58:00 116

转载 [HAOI2008]硬币购物

· 假设此时已求出标准完全背包,用$f[j]$表示。· 本题关键在于,由于有个数限制,那么可以强制令当前状态不满足限制,即若最多取$Have[i]$个,强制令其先取$Have[i] + 1$个,那么减去$f[S - (Have[i] + 1)]$即可,当然需用容斥原理来进行加减。· 代码: 1 #include <iostream> 2 #includ...

2018-09-24 20:30:00 39

转载 POJ - Problem 1275 - Cashier Employment

· 对于差分约束,题目要求求什么便设什么,令$Sum[i]$表示由$0 ~ i$的雇佣人数。· 要充分利用题目所给条件,令$Have[i]$表示i时刻申报的人数,$Need[i]$表示i时刻需要的人数「结合 “人数” 关键词」。此时容易列出两个基本不等式:   Sum[i] - Sum[i - 1] >= 0;  Sum[i] - Sum[i - 1] <...

2018-09-24 20:28:00 84

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除