12 2019 档案

摘要:"Link" Solution 一棵$n$个点的树应满足度数和$\sum a_i=2n 2$。而且只要度数和满足条件就一定能根据构造出一棵这样的树。 转化成求有多少种方案满足$\sum\limits_{i=1}^ma_i=2m 2$,$m$任意。移下项就是:$\sum\limits_{i=1}^m( 阅读全文
posted @ 2019-12-30 08:17 Fruitea
摘要:发现自己已经懒得一道一道写Sol了。而且确实也没这必要吧= = 干脆开一个 一句话题解。 阅读全文
posted @ 2019-12-28 20:36 Fruitea
摘要:单旋 Description 给你一棵单旋splay,让你维护执行某些操作之后节点的深度信息。 单旋splay就是说在祖父 父亲 我,三点一线的时候,仍坚持旋转我两次。 双旋就是先旋父亲一次,再旋我一次。 Solution 题目只要求旋转最小值和最大值到根(其实旋转别的似乎也差不多??)。手模一个三 阅读全文
posted @ 2019-12-24 19:30 Fruitea
摘要:"Link" Description 一共$n$个人,每个人有 两个名字串 。再给定$m$个点名串。询问每个点名串是多少人名字串的子串。第二问询问对于每个人,一共有多少点名串是其两名字串(满足一个串即可)的子串。 Solution SA+莫队。 结论 :串$T$是串$S$的子串,应当满足串$S$有某 阅读全文
posted @ 2019-12-22 22:45 Fruitea
摘要:"Link" Description $n$个点,$m$条边的无向连通图,每个点有点权。 有两种操作: + 修改某个点的点权。 + 询问两点间所有简单路径上点权最小值。 Solution 建出圆方树。令方点点权为相邻圆点点权的最小值。那么现在询问就变成查询路径最小值,可以用树剖+线段树解决。 对于修 阅读全文
posted @ 2019-12-22 17:43 Fruitea
摘要:Link Description 给定一张$n$个点$m$条边的无向连通图。共$q$次询问,每次询问给出一个点集$S$,询问有多少个点满足不在$S$中,且删去后使得$S$中的点不全在一个联通分量中。 Solution 把圆方树建出来。那么题目询问的就是$S$中的点形成的极小联通子树中圆点数量减去$| 阅读全文
posted @ 2019-12-22 17:28 Fruitea
摘要:"Link" Description 给定一棵n个点的树,树上有若干关键点。每次操作将一个关键点变成非关键点或一个非关键点变为关键点,并询问所有关键点形成的极小联通子树边权和的两倍。 Solution 先摆结论: 假设树上关键点按照$dfs$序排列为{$a_1,a_2,a_3,\dots,a_t$} 阅读全文
posted @ 2019-12-22 16:57 Fruitea
摘要:圆方树 "ref1" "ref2" 圆方树是处理带环图的利器,它可以把原图转化成一个树的形态,所以很多树的性质都可以在其上加以利用。 圆方树实际上有两种。一种是 仙人掌上圆方树 ,另一种是 广义圆方树 。 蒯图预警 :接下来引用的图片全部来自网络,除了csacademy的图,没有一张不是蒯的(不蒯图 阅读全文
posted @ 2019-12-19 21:36 Fruitea
该文被密码保护。
posted @ 2019-12-17 22:23 Fruitea
该文被密码保护。
posted @ 2019-12-16 22:49 Fruitea
该文被密码保护。
posted @ 2019-12-16 21:27 Fruitea
该文被密码保护。
posted @ 2019-12-16 21:24 Fruitea
该文被密码保护。
posted @ 2019-12-16 21:23 Fruitea
该文被密码保护。
posted @ 2019-12-16 21:21 Fruitea
该文被密码保护。
posted @ 2019-12-16 21:19 Fruitea
摘要:"Link" Solution 有两种解法。 法1: 直接上分治FFT,也就是CDQ分治+FFT。 具体做法是先递归左半边,算出左半边答案之后,将左半边贡献到右半边,然后递归右半边。 分治是一个log的,每次暴力计算贡献是$\text O(n^2)$的,考虑用FFT优化计算贡献的过程。总复杂度变成$ 阅读全文
posted @ 2019-12-11 21:55 Fruitea
摘要:"Link" Solution 实际上是求最大伤害总和。 有一个只要有眼睛就能看出来的结论:能出强化牌就出强化牌,最后剩一张出攻击牌,当然如果强化牌不满$k$个就把强化牌出完剩下出攻击牌。因为强化牌都是大于等于1的 正整数 ,所以带来的效果是至少让伤害翻一倍那么显然尽量出强化牌。(然鹅我可能真的没眼 阅读全文
posted @ 2019-12-11 19:57 Fruitea
摘要:"Link" Solution 随便状压就可以了,设f[S]为答案,g[S]为S的最大独立集点数。对于每个S,枚举其点集内每个点作为p[1],那么选了这个点之后与其相连的所有点(记作r[i])都不能选,是个递归过程。 转移有 $f_S=\frac{\sum\limits_{i\in S}f_{S r 阅读全文
posted @ 2019-12-11 17:35 Fruitea
摘要:"Link" Solution 开始做完全没想到是线段树合并QAQ、 朴素的做法是直接树形dp。设$f[u][x]$表示在u点权值取到x的概率。 有转移: 如果x在左子树 $f[u][x]=f[ls][x]\times \sum\limits_{y\in T_{rs},yx}f[rs][y]\tim 阅读全文
posted @ 2019-12-11 10:58 Fruitea
摘要:线段树合并 线段树合并就是把两棵权值线段树给合并起来,复杂度$O(nlogn)$。 值得注意的是:是两棵线段树对应位置进行合并操作! 有两种写法: 这种是把y合并到x上。但是这种合并过程中有可能会破坏x,y的结构。所以适合把询问都离线下来,一合并完就回答询问。 另一种写法是类似主席树,新开节点。这种 阅读全文
posted @ 2019-12-10 19:30 Fruitea
摘要:Splay 注意事项 0. rotate() 左旋右旋。找点规律可以写一起; splay() 利用rotate()把一个节点转到目标点的儿子处; find() 找到一个节点并把它转到根,没有这个节点那就可能是把他的前驱或者后继转上来; nxt() 利用find()找前驱、后继,把x转上来之后,暴力跳 阅读全文
posted @ 2019-12-10 19:27 Fruitea
摘要:做了全家桶然后写了几道入门题。 FFT.ref NTT.ref Luogu4238 【模板】多项式求逆 Link 套牛顿迭代完事。有一个细节问题是:这次运算多项式有几项就只赋几项的值,其他位置(次数大于n次的项在$mod\ {x^n}$意义下当然为0)一定要设成0(即清空数组),否则会计算错误。 L 阅读全文
posted @ 2019-12-10 19:11 Fruitea
该文被密码保护。
posted @ 2019-12-04 16:56 Fruitea
摘要:成一事者,是矢志不渝的愚者;毁一事者,是停滞不前的贤者。 阅读全文
posted @ 2019-12-03 15:27 Fruitea