ABC361F x=a^b(容斥,莫比乌斯反演)
摘要:
题意 求 1 ~ n 中有多少数 x 可以写成 x=a^b 的形式(其中 b\ge 2) n\le 10^{18} 容斥 显然 1 是可以写成 1^b 的,我们单独讨论这种情况,以下默认 a\ge 2 发现一个数有可能有很多种
对求本质不同子序列个数的一点理解
摘要:
stO https://www.cnblogs.com/ptno/p/16541669.html Orz DP求本质不同子序列个数 求长度为 n 的序列 a_1,a_2,\dots,a_n 的本质不同子序列数。 Method 1 设 f_i 表示以 i 结尾 且之前没出现过 的子序列
卡特兰数入门
摘要:
卡特兰数可以解决一些计数问题,还是挺常用的。 前几项是 1,1,2,5,14,42,132,\dots 下文用 C_n 表示卡特兰数第 n 项,n 从 0 开始。 公式 如果不记得通项,可以用下面的一些经典模型推导出来。 通项 $$ C_n=\binom{2n}{n}-\bino
容斥原理
摘要:
容斥原理 经典韦恩图 有 n 个集合 S_1,S_2,\dots,S_n,设 U={S_1,S_2,\dots,S_n},则 $$ \left| \bigcup\limits_{i=1}^nS_i\right|=\sum\limits_{i}\left|S_i\right|-\sum\l
高维前缀和
摘要:
前缀和 迪利克雷前缀和:给定 f(1),f(2),\dots f(n),求 g(d)=\sum\limits_{x\mid d}f(x),d\in[1,n]。 问题中的 g 就是就是 f 的迪利克雷前缀和,直接求是 O(n\ln n) 的,但可以做到
用子集反演理解二项式定理
摘要:
先看子集反演,这是比较好理解的。 g(S)=\sum\limits_{T\subseteq S}f(T)\ f(S)=\sum\limits_{T\subseteq S}(-1)^{|S|-|T|}g(T) 考虑选一堆物品,可以令 f(S) 表示恰好选取集合 S 的方案,$g(S
A Simple Problem(路径)
摘要:
题面 有一棵 n 个点的树,每个点有一个颜色,编号为 i 的点的颜色为 col[i]。 给定 m 组询问,每次询问给定 u,v,a,b,表示询问在 u 到 v 的简单路径上,出现次数 \in[a,b] 的颜色有多少种。 限制 | 测试点编号 | 特殊限制 | 分值 |
【题解】CF246E Blood Cousins Return(树上查询K-Son)
摘要:
题意 给定一片 n 个点的森林,每个节点有一个名字。 m 次询问,每次询问一个节点的 K-Son 共有个多少不同的名字。一个节点的 K-Son 即为在该节点子树内的,深度是该节点深度 +K 的节点。 n,m\le 10^5。 我的沙笔莫队做法 找到一个点 x 的 $K-S