数论基础
没写完。
带余除法、欧几里得算法、筛法、欧拉函数与欧拉定理、扩展欧几里得算法、乘法逆元、中国剩余定理、扩展中国剩余定理、卢卡斯定理、扩展卢卡斯定理
Luogu – P7568 -「MCOI-05」追杀
有 $m$ 位玩家 $1\sim m$,初始血量均为 $3$。玩家活着当且仅当生命值大于 $0$.
有 $n$ 次按时间顺序给定的追杀操作,每次形如 $(u_k,v_k)$,追杀操作按顺序进行。
执行操作 $u$ 追杀 $v$ 时,若二者都活着,那么 $v$ 的生命值减 $1$;否则不执行该操作。
现在有一名特殊玩家 $0$ 号,可以选取任意 $(i,v)$,其中 $1\leq i\leq n+1$,$1\leq v\leq m$,表示时空穿越到第 $i$ 次追杀前,并追杀玩家 $v$。
显然 $(i,v)$ 共有 $(n+1)\times m$ 个不同的选择方法,且不同的 $(i,v)$ 会导致最终存活玩家的集合不同。
对每个 $0\leq x\leq m$,求有多少种 $(i,v)$ 的选取方法,使最终恰有 $x$ 位玩家存活,输出 $m+1$ 个数。
Luogu – P7287 -「EZEC-5」魔法
给定数列 $a_1, a_2, \cdots, a_n$,可以对其进行下列操作。
  1. 花费 $a$ 魔法值,选择 $A$ 中的一个区间 $[l,r]$,将 $a_l, a_{l+1},\cdots, a_r$ 全部 $+1$.
  2. 花费 $b$ 魔法值,选择 $A$ 中的一个区间 $[l,r]$,将 $a_l, a_{l+1},\cdots, a_r$ 全部 $\times 2$.
现在可以做若干次操作,使得序列 $a$ 存在一个子区间,其元素之和不小于 $s$.
求需要花费的最小魔法值。
Luogu – P1450 – [HAOI2008]硬币购物
共有 $4$ 种硬币。面值分别为 $c_1,c_2,c_3,c_4$。
某人去商店买东西,去了 $n$ 次,对于每次购买,他带了 $d_i$ 枚第 $i$ 种硬币,想购买价值恰好为 $s$ 的东西。
多次询问,每次询问形如 $(d_1,d_2,d_3,d_4,s)$,求付款方法数。
$1\leq c_i,d_i,s\leq 10^5$,$1\leq n\leq 1000$.