随笔分类 -  其他 - 模型/总结/重要

上一页 1 2 3 4 5 6 ··· 32 下一页
摘要:裸做的话设一个 $p[i][j]$ 表示两个堆分别抽走 $i,j$ 个的概率. 转移的话就枚举当前是第几个,然后再枚举左/右面由下向上第几个贡献. 不在模意义下做,开 double 打表发现无论怎样洗牌,一次函数还是一次函数,二次函数还是二次函数. 那么我们只需暴力维护出牌的前 3 项,然后后面的项 阅读全文
posted @ 2020-08-03 10:07 EM-LGH 阅读(153) 评论(0) 推荐(0)
摘要:双指针+LCT. 在二分图那道题中,有一种用 LCT 维护奇环的方法. 该题的做法和那道题相似. 对于 $i$,维护 $left[i]$ 表示当删除 $i$ 时最靠左的端点使得删掉 $[left[i]+1,i]$ 后仍然存在奇环. 那么最后判断答案的时候就看 $(l,r)$ 中的 $l$ 是否大于 阅读全文
posted @ 2020-07-30 15:59 EM-LGH 阅读(268) 评论(0) 推荐(1)
摘要:比较好的一道题 DP 题. 令 $f[i][j]$ 表示覆盖前 $i$ 个基站且 $i$ 位置上维修了基站的最小代价. 注意:上面设的状态是不考虑 $[i+1,n]$ 的. 转移的话 $f[i][j] \leftarrow f[k][j-1]+calc(j-1,i)$. 其中 $calc(i,j)$ 阅读全文
posted @ 2020-07-29 16:58 EM-LGH 阅读(171) 评论(0) 推荐(0)
摘要:比赛的时候切的,可惜没抢到首 A. 权值和等于 $\sum_{i=1}^{n} \sum_{j=i+1}^{n} a_{i} \times a_{j} \times f(j-i+1) \times f(n-j+i+2)$,最后再除以 4. 然后这里的 $f(n)$ 就代表 $n$ 个点构成的圆环的不 阅读全文
posted @ 2020-07-29 15:56 EM-LGH 阅读(198) 评论(0) 推荐(0)
摘要:题意:给定一个字符串,求有多少个子序列满足该子序列长度为 $7$,且位置所对应字母在子序列中排名为 3652415. 观察发现如果枚举 $3,5,2$ 上的字母的话其他字母插入方式只有 1 种,即不会引起冲突. 然后就令 $f[x][i]$ 表示 DP 到 $i$ 位置,匹配了子序列第 $x$ 位置 阅读全文
posted @ 2020-07-29 15:35 EM-LGH 阅读(161) 评论(0) 推荐(0)
摘要:题意:求有多少种排列满足 $i$ 之前第一个小于 $i$ 的位置是 $q[i]$. 如果没有 $q[i]$ 的限制,答案就是全排列,然后 $q[i]$ 会限制一些元素之间的大小关系. 直接做的话没办法方便地求出元素之间的大小关系. 不妨思考单调栈的过程:如果遇到前缀最小值的话肯定会将栈清空. 那么也 阅读全文
posted @ 2020-07-29 15:21 EM-LGH 阅读(100) 评论(0) 推荐(0)
摘要:假如说每次只能跳一步,一共跳 $i$ 步到达 $(i,x)$ 的方案数是好求的: $f[i][j]=\sum_{k=1}^{n} f[i-1][k] \times w(k,j)$. 时间复杂度为 $O(Ln^2)$. $ans_{t}=\sum_{i=0}^{L} f_{L,y} \times \b 阅读全文
posted @ 2020-07-28 14:09 EM-LGH 阅读(181) 评论(0) 推荐(0)
摘要:通过这道题了解二进制分组. 由于我们只需要求两两之间最短路的值而不需要求具体是哪两个点得到的最短路,可以使用二进制分组. 因为如果两个点对答案有贡献,那么这两个点一定在某个二进制位上不同,而 dijkstra 可以方便地求两个集合之间的最短路. 然后注意对于两个方向要分别跑一个 dijkstra. 阅读全文
posted @ 2020-07-27 21:35 EM-LGH 阅读(133) 评论(0) 推荐(0)
摘要:裸做的话是 $O(n \log^2 n)$ 的,即将 $a$ 进行二进制拆分,然后暴力更新. 考虑进行压位,即线段树的每一个叶节点维护长度为 $30$ 的状态. 加法操作如果需要进位的话就找到其后面的块中第一个 0 所在位置. 减法操作如果需要借位的话就找第一个 1. 第一个 0 与第一个 1 都可 阅读全文
posted @ 2020-07-27 20:48 EM-LGH 阅读(164) 评论(1) 推荐(0)
摘要:比较好的一道后缀自动机题. 先枚举必选的前缀 $[1,k]$ 然后加上 $[k+1,n]$ 中本质不同子串个数. 但是这样的话会算重. 考虑哪些地方算多了: 假设 $i-1$ 的前缀为 $pre[i-1]$,然后当前的前缀为 $pre[i-1]+x$. 那么当前肯定会枚举到 $pre[i-1]+(x 阅读全文
posted @ 2020-07-27 10:42 EM-LGH 阅读(155) 评论(0) 推荐(0)
摘要:找规律+猜结论. 不难发现这个旋转 180 度其实是对于一个 $2 \times 2$ 的正方形内部对角线分别交换. 所以对于这个 $2 \times n$ 的数组来说可以将所有格子分成两类,这两类互不干扰. 那么判断是否合法的条件之一就是初态和末态对应种类的格子应该相同. 即 $(1,1)$,$( 阅读全文
posted @ 2020-07-27 08:03 EM-LGH 阅读(231) 评论(0) 推荐(0)
摘要:正常来说,单次操作的复杂度是 $O(k^2)$,然后整体复杂度是 $O(nk^2)$. 但是我们发现每次合并两个蚯蚓的复杂度的极限是 $O( min(size_{min},50) \times 50)$. 然后根据启发式合并的复杂度分析,即使要求遍历完 $size_{min}$,复杂度最高也就是 $ 阅读全文
posted @ 2020-07-27 07:51 EM-LGH 阅读(151) 评论(0) 推荐(0)
摘要:本来以为这道题会非常难调,但是没想到调了不到 5 分钟就 A 了. 由于基于多项式的运算都可以方便地进行封装,所以细节就不是很多(或者说几乎没有细节) 题意:给定一棵树,每个点有点权,求对于所有大小为 $m$ 的独立集的点权之积的和. 数据范围:$n,m \leqslant 8 \times 10^ 阅读全文
posted @ 2020-07-25 08:30 EM-LGH 阅读(387) 评论(0) 推荐(0)
摘要:真——分治NTT 这道题有一个非常头疼的地方,就是当一个猎人被打死后会退出. 那么分母就是实时变动的,导致很难去维护很多东西. 但是有一个转化:不让猎人退出,如果打到了已经死掉的猎人就重打. 概率上,是 $P=\frac{w}{sum}+\frac{d}{sum}P$,解得 $P=\frac{w}{ 阅读全文
posted @ 2020-07-24 10:24 EM-LGH 阅读(173) 评论(0) 推荐(0)
摘要:不妨枚举哪些位置和睦,然后计算其他位置都不和睦的方案数. 令 $f[i]$ 表示 $i$ 对情侣都不和睦的方案数. 然后 $f[i]$ 的转移和错位排列比较相似,即让情侣 $(i,i')$ 与 $(x,y)$ 合并或者 $(x,x')$ 合并. 前者对应 $f[i-2] \times 2 \time 阅读全文
posted @ 2020-07-24 09:08 EM-LGH 阅读(165) 评论(0) 推荐(0)
摘要:令 $f[S]$ 表示所选的排列可以生成出 $S$ 的最大独立集且点集 $S$ 全部在序列中的方案数. 那么我们选一个没有被覆盖的点 $j$,令 $sta[j]$ 表示 $j$ 及 $j$ 覆盖的点集. 那么有 $f[S|sta[j]] \leftarrow f[S] \times A(n-|S|- 阅读全文
posted @ 2020-07-23 21:40 EM-LGH 阅读(160) 评论(0) 推荐(0)
摘要:对于 $x,y$ 如果 $x$ 在 $y$ 的左面那么 $x \rightarrow y$ 的贡献是 $pos[y]-pos[x]$ $y \rightarrow x$ 的贡献是 $pos[x] \times k+pos[y] \times k.$ 令 $f[S]$ 表示集合 $S$ 在序列开头,且 阅读全文
posted @ 2020-07-23 17:00 EM-LGH 阅读(165) 评论(0) 推荐(0)
摘要:求:有多少种序列满足 $a[i] \subseteq [1,D]$ 且 $m \leqslant \sum_{i=1}^{D} \frac{cnt[i]}{2}$裸做的话就是一个背包:$f[i][j]$ 表示前 $i$ 个数匹配了 $j$ 对的方案数,然后由于没有匹配的肯定是单个出现,所以转移的话比 阅读全文
posted @ 2020-07-22 16:30 EM-LGH 阅读(148) 评论(0) 推荐(0)
摘要:容斥+分治NTT. 令 $dp[i]$ 表示以 $i$ 结尾的方案数. 如果只有小于号的话 $dp[i]$ 是非常好求的:$\frac{n!}{\prod a_{i}}$ 即总阶乘除以每一个小于号连续段. 有大于号的时候考虑容斥: 遇到第一个大于号的时候先不考虑当前位置关系,方案数就是 $dp[j] 阅读全文
posted @ 2020-07-21 17:43 EM-LGH 阅读(160) 评论(0) 推荐(0)
摘要:显然,不合法的情况要存在序列被分成值域为 $[1,i]$ 与 $[i+1,r]$ 两部分. 不妨采用容斥的方法来减去所有不合法的情况. 令 $f[i]$ 表示 $1$ ~ $i$ 构成的合法序列数目. 那么不合法的情况一定可以表示为 $f[j] \times (i-j)!$ 即前 $j$ 个数组成的 阅读全文
posted @ 2020-07-21 16:19 EM-LGH 阅读(157) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 32 下一页