Solution -「51nod 1868」彩色树】的更多相关文章

\(\mathcal{Description}\)   Link & 双倍经验 Link.   给定一棵 \(n\) 个结点的树,每个结点有一种颜色.记 \(g(u,v)\) 表示 \(u\) 到 \(v\) 简单路径上的颜色种数,求 \[\sum_{\{p_n\}}\sum_{i=1}^{n-1}g(p_i,p_{i+1}) \]   其中 \(\{p_n\}\) 表示 \(1\sim n\) 的排列.   \(n\le10^5\),答案对 \((10^9+7)\) 取模. \(\mathca…
\(\mathcal{Description}\)   Link.   称排列 \(\{p_n\}\) 美妙,当且仅当 \((\forall i\in[1,n))(\max_{j\in[1,i]}\{p_i\}>\min_{j\in(i,n]}\{p_j\})\).求长度为 \(n\) 的美妙排列个数.多测.   \(n\le10^5\). \(\mathcal{Solution}\)   讨论这道题的时候--打表,然后发现了 A003319!/xyx   显然 \(f(0)=0,f(1)=1\…
\(\mathcal{Description}\)   Link.   令 \(f\) 为 \(\text{Fibonacci}\) 数列,给定 \(\{a_n\}\),求: \[\operatorname{lcm}\{f_{a_1},f_{a_2},\cdots,f_{a_n}\}\bmod(10^9+7) \]   \(n\le5\times10^4\),\(a_i\le10^6\). \(\mathcal{Solution}\)   你得知道: \[\gcd(f_i,f_j)=f_{\gc…
\(\mathcal{Description}\)   Link.   令 \(\sigma(n)\) 为 \(n\) 的约数之和.求: \[\sum_{i=1}^n\sum_{j=1}^n\max\{i,j\}\sigma(ij)\bmod(10^9+7) \]   多测,\(n\le10^6\),数据组数 \(\le5\times10^4\). \(\mathcal{Solution}\)   直 接 来 owo! \[\sum_{i=1}^n\sum_{j=1}^n\max\{i,j\}\…
「WC 2019」数树 一道涨姿势的EGF好题,官方题解我并没有完全看懂,尝试用指数型生成函数和组合意义的角度推了一波.考场上只得了 44 分也暴露了我在数数的一些基本套路上的不足,后面的 \(\exp\) 是真的神仙,做不出来当然很正常,而且我当时也不怎么会多项式. Task0 考虑公共边组成 \(k\) 个联通块,答案就是 \(y^k\) ,并查集维护一下即可,复杂度 \(\mathcal O(n\log n)\) . code namespace task0{ map<pair<int,…
[Luogu 3701] 「伪模板」主席树 这是一道网络流,不是主席树,不是什么数据结构,而是网络流. 题目背景及描述都非常的暴力,以至于 Capella 在做此题的过程中不禁感到生命流逝. S 向 byx 的树中的每一个人连有向边,手气君的树中的每一个人向 T 连有向边,边权为这个人的寿命.统计同一棵树中的膜法师数量 x.如果一个人是主席,那么边权要加上 x.(续得好啊) 然后,如果 byx 树中的一个点 i 能赢手气君树中的点 j,那么连 i->j,边权为 1. 跑最大流,最终答案为 min…
[题解]#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT) 之前做这道题不理解,有一点走火入魔了,甚至想要一本近世代数来看,然后通过人类智慧思考后发现,这道理可以用打马后炮别的方式来理解. 先放松一点条件,假如位运算只有一种,定位某一颗生成树,那么可以知道 \[ w(T)=\oplus_{w\in W} w \] 写成生成函数的形式,对于每条边就是 \[ h((i,j))=[\exist e=(i,j,w)]x^w \] 现在重边可以看做一条边了…
\(\mathcal{Description}\)   Link.   给定整数序列 \(\{a_n\}\),对于整数序列 \(\{b_n\}\),\(b_i\) 在 \([1,a_i]\) 中等概率随机.求 \(\{b_n\}\) 中 LIS(最长上升子序列)的期望长度.对 \(10^9+7\) 取模.   \(n\le6\),\(a_i\le10^9\). \(\mathcal{Solution}\)   欺负这个 \(n\) 小得可爱,直接 \(\mathcal O(n!)\) 枚举 \(…
\(\mathcal{Description}\)   Link.   维护序列 \(\lang a_n\rang\),支持 \(q\) 次如下操作: 区间加法: 区间下取整除法: 区间求最小值: 区间求和. \(n,q\le10^5\),值域大约是 \(V=2\times10^9\). \(\mathcal{Solution}\)   可以推测是势能线段树.对于线段树上的区间 \([l,r]\),想要将它 \(\div d\),维护 \(u=\min_{i=l}^r\{a_i\}\) 以及 \…
\(\mathcal{Description}\)   Link.   对于非空二叉树 \(T\),定义 \(\operatorname{grow}(T)\) 为所有能通过若干次"替换 \(T\) 的某个叶子为任意非空二叉树"的操作得到的二叉树集合:对于非空二叉树集合 \(\mathscr T\),定义 \(\operatorname{grow}(\mathscr T)=\bigcup_{T\in{\mathscr T}}\operatorname{grow}(T)\).多次询问,每次…