摘要:
求 n 个点简单无向连通图个数,膜 $1004535809$ (是一个质数,原根是 $3$) $n \leq 130000$ sol: 推式子的方法...应该到处都有 记录一下指数生成函数 (EGF) 的做法 先设 $g(x)$ 为 n 个点简单无向图的 EGF ,可以知道 $g(x)=\sum\l 阅读全文
摘要:
有一个 DAG,有一个源点,一个汇点和很多条边,每条边有花费 $d_i$ 和最大流量 $c_i$,可以花 $b_i$ 的钱把最大流量增加 $1$,花 $a_i$ 的钱把最大流量减少 $1$ 现在要进行调整,要求每条边都满流且总流量不变,假设进行了 $k$ 次调整,要求最大化 $\frac{调整前总费 阅读全文
摘要:
sol: 题面看吐了,实际上操作就是 1.access 2.makeroot 3.查询一个点到根上有多少虚边 1. 和 2. 可以 access ,每次断掉的轻边子树 -1,新连的轻边子树 +1 ,用线段树维护一下子树即可,类似树剖套线段树的方法换根 顺便复习一下换根 1.如果当前点在根的子树里,直 阅读全文
摘要:
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cctype> #include <algorithm> using namespace std; int read() { i 阅读全文
摘要:
有一个一开始为空的集合,每次加入一个数或者删除一个数,每次查询这个集合选出若干个数异或起来的最大结果 $n \leq 100000$ sol: 学了一波线性基 大概就是 1.插入一个数(其中 v 的大小是 logn) 2.查询当前集合最大异或和 其余的操作就没有了,合并的话是启发式合并,删除不资瓷, 阅读全文
摘要:
有 $n$ 个人,$m$ 种物品,每种物品有 $a_i$ 个,求每个人至少分到一个的方案数 $n,m,a_i \leq 2000$ sol: 比上一个题简单一点 还是考虑容斥 每个人至少分到一个 = 随便选 - 至少 1 个人没分到 + 至少 2 个人没分到 - 至少 3 个人没分到 + ... 至 阅读全文
摘要:
n 个元素,选出若干子集使得交集大小为 k,求不同选择方案数 $n,k \leq 10^6$ sol: 首先,先选 k 个元素为交集,这一步是 $C_{n}^{k}$ 剩下就是选择一些没有交集的集合方案数 考虑容斥,交集为 $\emptyset$ 的方案数 = 随便选的方案数 - 交集大于等于 1 阅读全文
摘要:
有 $n$ 个 Pokemon,你有 $A$ 个一类精灵球,$B$ 个二类精灵球 分别给出每个 Pokemon 被这两类精灵球捕捉的概率 求抓到 Pokemon 的最优期望个数 $n\leq 2000$ sol: 2900 分的题竟然卡了一会... 看来我真的 sb 如果只有一种精灵球,就是带权二分 阅读全文
摘要:
一般的式子都是 $f_i = max\{g_j + w_{(i,j)}\}$ 然后这个 $w$ 满足决策单调性,也就是对于任意 $i < j$ ,$best_i \leq best_j$ 这样就会有两种优化方式 1.$w_{(i,j)}$ 可以快速求 例如:NOI 2009 诗人小 G 题里给了你 阅读全文
摘要:
一个有点权和边权的二叉树,多次询问点权在 $[L,R]$ 的点到 $u$ 的距离和 $n,q \leq 100000$ sol: 1.点分治 建出分治树的结构,考虑计算距离的过程 我们知道 $dis(u,v) = dep_u + dep_v - 2 \times dep_{lca}$ 因为树高是 l 阅读全文