2019-09-03【高一组】模拟赛 3 &【高二组】模拟赛 2 题解

计算题 1

$$
egin{align}
ans_x
&=sum_{i=1}^n (w_i-w_x)^2\
&=sum_{i=1}^n(w_i^2+w_x^2-2w_iw_x)\
&=sum_{i=1}^{n}w_{i}^2+nw_x^2-2sum_{i=1}^n{w_i}w_x
end{align}
$$

先在读的时候处理出 $sum_{i=1}^{n}w_{i}^2$ 和 $sum_{i=1}^n{w_i}$,然后对于每个 $x$ 就可以 $O(1)$ 求答案了。

总时间复杂度 $O(n)$。

计算题 2

首先可以分析性质发现对于任意一段能量石,在不使用能力的情况下无论怎么合并答案都是不变的,于是就可以递推了。

设:

$f[i][0]$ 表示不使用能力时用 $1sim i$ 号能量石消耗的最小能量。

$f[i][1]$ 表示正在使用能力时用 $1sim i$ 号能量石消耗的最小能量。

$f[i][2]$ 表示已使用完能力时用 $1sim i$ 号能量石消耗的最小能量。

则:

$f[i][0]=f[i-1][0]+a_ib_{i-1}$;

$f[i][1]=min(f[i-1][0]+ka_ib_{i-1},f[i-1][1]+k^2a_ib_{i-1})$;

$f[i][2]=min(f[i-1][2]+a_ib_{i-1},f[i-1][1]+ka_ib_{i-1})$。

然后就可以递推了。

时间复杂度 $O(n)$。

构造题 1

求出数列 $a$ 的膜 $n$ 意义下的前缀和 $s_{0 dots n}$,对于这 $n+1$ 个数,由于只有 $n$ 种取值,由抽屉原理,必有 $2$ 个相等,如果 $s_l=s_r$,那么 $a_{l+1dots r}$ 这段数的和就是 $n$ 的倍数。

时间复杂度 $O(n)$。

构造题 2

首先如果在 $i$ 位置 $+A$ 或 $-B$,最后的和就会加 $(n-i+1) imes A$ 或减 $(n-i+1) imes B$。

然后可以发现每个数不是 $+A$ 就是 $-B$,于是可以先假设全部 $+A$,得到 $y=nx+frac{n(n-1)}{2} imes A$。

然后 $y$ 一定是大于等于 $m$ 的,而大的原因就是部分应该减掉的 $B$ 变成了加 $A$。

而这样要改为 $-B$ 相当于 $-(A+B)$。

于是可以求出 $num=(y-m)/(A+B)$。

对于 $i$ 位置,对 $num$ 的贡献是 $n-i+1$。

然后将 $i$ 从前往后遍历一遍就行了。

时间复杂度 $O(n)$。

数学题 1

三种方法:

1. 打表 $24$ 种即可
2. 暴力搜索即可
3. 找规律即可

数学题 2

由题意,我们可以整理式子,先移项再平方得:

$$
displaystyle sqrt{x - sqrt{n}} + sqrt{y} - sqrt{z} = 0
$$

$$
x - sqrt{n} =z+y-2sqrt{yz}
$$

$$
x-y-z=sqrt{n}-2sqrt{zy}
$$
要保证等式成立,右边的无理项必须为 $0$。

所以可以得到:
$$
n=4zy
$$
我们可以先把 $n$ 除以 $4$,再从枚举 $n$ 的约数,满足条件就计入答案就可以辣~~

时间复杂度 $O(Tsqrt{n})$。

原文地址:https://www.cnblogs.com/Hikigaya/p/11461309.html