分类: 题解

68 篇文章

CodeForces – 1630B – Range and Partition
给定一个长度为 $n$ 的数组 $a$。
你需要确定一个范围 $[x,y]$,并将 $a$ 数组分成 $k$ 段,使得对于每一段,在范围 $[x,y]$ 以内的不同元素个数大于在范围 $[x,y]$ 以外的不同元素个数。
此处的 $x, y$ 都是权值,不是下标。
请求出任意一组使得 $(y-x)$ 最小的 $x,y$,并输出划分的方案。
Codeforces – 743C – Vladik and fractions
给定正整数 $n$,请找出一个合法的三元组 $(x, y, z)$,满足:
$$ \frac{1}{x}+\frac{1}{y}+\frac{1}{z}=\frac{2}{n} $$
要求:$x, y, z\in \Bbb{Z}^+$ 且互不相同。
洛谷 – 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$ 个数。
洛谷 – 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$.
求需要花费的最小魔法值。
洛谷 – 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$.