Qoj7562 Except One
Except One
Description
https://contest.ucup.ac/contest/1382/problem/7562
给定 $p,k,t$,定义集合 $S={x|1\le x\le p-1,x\not = k }$。求恰好包含 $t$ 个数的子集的乘积和。答案对 $p$ 取模。
$p\le 10^9$
Solution
非常喵喵啊。
观察到无论 $t$ 是多少,如果去掉 $k$ 的限制模 $p$ 后答案一定是 $0$。令 $f_t$ 表示恰好包含 $t$ 个数的答案,则在模 $p$ 意义下,有转移 $f_t=-k\times f_{t-1}$。
然后发现不仅是 $f_t$ ,$f_{t-1},f_{t-2}\dots$ 也可以从前面递推过来。
答案就是 $(-k)^t$ 在模 $p$ 意义下的值。
1 | read(mod);read(k);read(t); |