上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 先化简答案的式子: \[ \large\begin{aligned} ans_k&=\frac{1}{nm}\sum_{i=1}^n\sum_{j=1}^m(a_i+b_j)^k \\ &=\frac{1}{nm}\sum_{i=1}^n\sum_{j=1}^m\sum_{l=0}^k\binom{ 阅读全文
posted @ 2020-08-05 20:04 lhm_liu 阅读(181) 评论(1) 推荐(0) 编辑
摘要: 题意即为在序列中找出给定排列能匹配相同的位置,这里的匹配相同指的是相对大小关系相同,即离散化后相同。 因为是相对大小关系相同,所以只需考虑每个数所在的排名。可以对给定排列处理出 \(num_i\),为位置 \(i\) 之前小于位置 \(i\) 对应的数的个数,发现对于序列,\(num_i\) 相同, 阅读全文
posted @ 2020-08-04 07:57 lhm_liu 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 阶 设 \(m > 1 , a \perp m\),使得 \(a^n \equiv 1 \pmod{m}\) 成立的最小的 \(n\) 称为 \(a\) 模 \(m\) 的阶 \(\delta_m(a)\)。 由欧拉定理 \(a^{\varphi(m)} \equiv 1 \pmod{m}\) 得, 阅读全文
posted @ 2020-08-03 16:26 lhm_liu 阅读(240) 评论(0) 推荐(1) 编辑
摘要: 单位根 \[ \large\begin{aligned} &\omega_n^k=e^{\frac{2\pi ik}{n}}=\cos\frac{2πk}{n}+i\sin\frac{2πk}{n} \\ &\omega_{n}^{n}=1 \\ &\omega_{2n}^{2k}=\omega_n 阅读全文
posted @ 2020-08-02 21:34 lhm_liu 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 首先对特征字符串建 \(SAM\),来实现对子串的匹配。 有一个 \(O(n^2)\) 的暴力,分别以每个点为根进行 \(dfs\),遍历树时记录当前字符串在 \(SAM\) 上匹配到的节点即可。 考虑用点分治来解决本题这样的树上路径统计问题。对于当前的分治重心 \(x\),统计连通块中经过 \(x 阅读全文
posted @ 2020-08-02 11:57 lhm_liu 阅读(384) 评论(1) 推荐(2) 编辑
摘要: 因为是有标号计数,考虑用指数型生成函数来解决。 设有标号荒漠的生成函数为 \(F(x)\),有标号仙人掌的生成函数为 \(f(x)\),因为荒漠是仙人掌所组成的集合,得: \[ F(x) = \exp (f(x)) \] 解决有标号仙人掌的计数问题后,就能解决有标号荒漠的计数问题。 先在仙人掌上确定 阅读全文
posted @ 2020-07-31 10:09 lhm_liu 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 对于一种权值的生成树的存在性,可以将其转化为该权值的生成树个数的计数问题。 先考虑运算若不是位运算,是加法的情况,要怎么处理。对于边权为 \(v\) 的一条边,将其边权赋为 \(x^v\),然后应用矩阵树定理,若所得行列式的第 \(i\) 次项系数不为 $0$,即生成树个数不为 $0$,就说明存在边 阅读全文
posted @ 2020-07-30 00:24 lhm_liu 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 先考虑最小值,因为树是二分图,所以可以进行黑白染色,将其分成左右部图,让左部图向右部图连边即可构造最小值,为 \(n-1\)。 对于最大值,最优情况一定是以一个点为中心,其各个子树内边的状态为要么该点能到达子树内的每个点,即外向,要么子树内的每个点能到达该点,即内向,且该点为树的重心。 可以简单的进 阅读全文
posted @ 2020-07-29 19:47 lhm_liu 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 对于至少 \(a\) 个,不超过 \(b\) 个的限制,可以先求出限制不超过 \(b\) 个的方案数,然后减去限制不超过 \(a-1\) 个的方案数,即为答案。 对第 \(i\) 个糖果罐列出其的生成函数,得: \[ f_i(x)=\sum_{j=0}^{m_i} x^j = \frac{1-x^{ 阅读全文
posted @ 2020-07-29 08:40 lhm_liu 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 给定 \(n\) 个点,求 \(f(x)\) 由拉格朗日插值法得 \[ f(x) = \sum_{i = 0}^{n} y_i \prod_{i \not = j} \frac{x - x_j}{x_i - x_j} \] \(code :\) for(int i=1;i<=n;++i) { ll 阅读全文
posted @ 2020-07-28 16:13 lhm_liu 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 先考虑外向树的情况,那么对于每个节点,该节点都是其子树内第一个抽到的。假设 \(W\) 都已确定,\(sum\) 为所有 \(W\) 的和,\(s_x\) 为 \(x\) 子树内 \(W\) 的和,得最终答案为: \[ \prod_{x=1}^n \frac{W_x}{sum} \sum_{i=0} 阅读全文
posted @ 2020-07-28 08:32 lhm_liu 阅读(248) 评论(0) 推荐(1) 编辑
摘要: 一个州不合法为其内部有欧拉回路,即图连通且每个点度数都为偶数。 \(n\) 很小,考虑用状压 \(DP\) 解决本题,设 \(f_S\) 为集合 \(S\) 的答案,\(g_S\) 为集合 \(S\) 的 \(w\) 和的 \(p\) 次方。 得转移方程为: \[ f_S= \frac{1}{g_S 阅读全文
posted @ 2020-07-27 07:59 lhm_liu 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 若从 \(x\) 到 \(y\) 的任意一条路径经过了一个点双连通分量,则从 \(x\) 到 \(y\) 一定可以经过该点双连通分量中的每一个点。 用广义圆方树来维护一般无向图,每个方点的权值为其相邻的圆点的权值的最小值,然后可以用树剖来修改和查询。 但是这样修改的复杂度是不正确的,若一个圆点相邻有 阅读全文
posted @ 2020-07-25 11:38 lhm_liu 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 对于本题这样带修的树上路径问题,考虑用动态点分治来解决。 将题目中给的式子变形得: \[ \begin{aligned} val_x + val_y \geqslant dis_{x,y} \\ val_y \geqslant dis_{x,y} - val_x \end{aligned} \] 对 阅读全文
posted @ 2020-07-25 08:37 lhm_liu 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 首先发现每个叶子节点的权值都有可能成为最终根节点的权值,观察题目中给出的式子: \[ \sum_{i=1}^m i V_i D_i^2 \] 发现只要算出每个权值被根节点取到的概率 \(D_i\),然后就能计算答案。 设 \(f_{x,i}\) 为节点 \(x\) 取到第 \(i\) 小权值的概率, 阅读全文
posted @ 2020-07-23 10:04 lhm_liu 阅读(426) 评论(0) 推荐(1) 编辑
摘要: 每次询问是关于 \(x\) 所在的连通块,所以考虑用点分树来解决本题。 点分树上每个节点所对应的子树,都是原树中的一个连通块。询问中给定 \(x\) 和区间 \([l,r]\),其就已经确定了原树的一个连通块,所以可以在点分树上找到最大的一个子树包含该连通块,统计其内部合法点的个数即可。 首先处理出 阅读全文
posted @ 2020-07-22 08:23 lhm_liu 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 一个比较直接的想法就是对每个点进行拆点,拆成入点和出点,限制放在入点和出点相连的边上,然后跑最大费用最大流即可。 但是这样复杂度无法接受,所以考虑模拟费用流来解决本题。 发现 \(H\) 都大于等于该节点的度数,所以从根节点出发,一定可以到达所有节点。 先考虑以根节点为起点和终点的答案,首先可以遍历 阅读全文
posted @ 2020-07-21 09:59 lhm_liu 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 考虑用动态点分治来解决像本题这样带修的树上路径问题。 首先对原树进行点分治,建出点分树,在点分树每个节点上用动态开点线段树来维护以该节点为起点,到其点分树子树中每个节点的利润。 查询时只需在点分树上当前所在节点往上跳父亲,在其到点分树根节点的链上的每个节点的线段树上查询。跳到一个节点时,在线段树上查 阅读全文
posted @ 2020-07-20 19:17 lhm_liu 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 首先考虑题目的性质,不难发现光盘的花费是一个凸函数。当生产 $0$ 张光盘时,其花费为 $0$,随着光盘生产数的增加,最优情况肯定是先选择工厂便宜的时刻,所以花费会增长越来越快,因此其为一个下凸的凸函数。 采用 \(WQS\) 二分来优化掉生产出 \(k\) 张光盘的限制,然后可以通过二分图带权匹配 阅读全文
posted @ 2020-07-18 15:09 lhm_liu 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 首先考虑题目的性质,发现点向区间连的边为双向边,所以也就可以从一个点向右跳到区间包含该点的点,如图所示: 但事实上向后跳其实是不优的,可以有更好的方法来节省花费: 因此我们发现一个点跳到其前一个区间的花费为 $1$,且在跳跃过程中不会向右跳,同时我们还证明了一个点向左的花费单调递增。 但是从起点进行 阅读全文
posted @ 2020-07-17 22:06 lhm_liu 阅读(369) 评论(0) 推荐(1) 编辑
摘要: 考虑用数位 \(DP\) 来统计数字串个数,用 \(SAM\) 来实现子串的匹配。 设状态 \(f(pos,cur,lenth,lim,flag)\),表示数位的位数,在 \(SAM\) 上的节点,匹配的长度,是否有最高位限制,是否已经满足要求。 在 \(dfs\) 转移时,若当前节点能接着匹配枚举 阅读全文
posted @ 2020-07-15 07:45 lhm_liu 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 考虑到先手和后手都使用最优策略,所以可以像对抗搜索一样,设 \(val\) 为先手收益减去后手收益的值。那么先手想让 \(val\) 尽可能大,后手想让 \(val\) 尽可能小。 继续分析题目性质,发现取石子的过程可以转化为两端分别有一个栈,可以从栈顶取石子,中间有若干个双端队列,可以从其两端取石 阅读全文
posted @ 2020-07-14 17:19 lhm_liu 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 首先我们知道 \(n\) 个点的树有 \(n-1\) 条边,因此对于森林来说,其点数减边数即为树的个数。那么对于普通的图,求出其任意一个生成树森林,森林中树的个数即为原图中连通块的个数,也就是点数减边数。 因此问题就转化为了如何快速求出一个图的生成树森林的边数。 考虑用 \(LCT\) 来维护原图的 阅读全文
posted @ 2020-07-13 20:34 lhm_liu 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 概念 回文树可以用来处理一个字符串中所有的回文子串。一个串的本质不同回文子串个数最多为 \(n\) 个。 一个字符串的回文树由两棵树组成,一个维护所有长度为奇数的回文子串,一个维护所有长度为偶数的回文子串。树上除根节点外的每个节点都表示串中的一个回文子串。 \(len:\) 节点对应的回文子串长度。 阅读全文
posted @ 2020-07-13 14:36 lhm_liu 阅读(932) 评论(0) 推荐(1) 编辑
摘要: 考虑到年份数很小,只有 $6$,所以可以 $2^6$ 来枚举子集,确定流量指数对应相同的位置,然后通过哈希和排序来计算相同的方案数。 但是这样计算出的是大于等于子集元素个数的方案数,所以还需要通过容斥来得到恰好为 \(k\) 的方案数。设子集元素个数为 \(i\),相同个数恰好为 \(i\) 的方案 阅读全文
posted @ 2020-07-12 12:08 lhm_liu 阅读(162) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页