- 博客(2)
- 收藏
- 关注
原创 codeforces 1453 D. Checkpoints (构造+期望)
构造题目,需要想到一种构造方法,这个题目其实可以想到两种构造,用全为1进行构造,如1111这种,但她的期望公式是f[n] = 2*n,因为n最大是2000,所以显然不行,然后就是全为0进行构造,因为开头是1,所以就是后面补0来进行构造。 考虑 f1 = 2;f2 = 6;f3 = 14,可以看出规律是f[n] = f[n-1]*2,根据这个规律就可以解决这道题目了,因为第一个位置必须是1,结合上面也可以看出,无论怎么构造,期望一定是偶数。可以得到代码如下: #include <bits/stdc++.
2020-12-08 01:23:26 463
原创 区间更新,单点查询的两种做法(树状数组和差分)
差分 差分是一种和前缀和相对的策略,可以当做是求和的逆运算。 定义为: f(n)={ai−ai−1,n>2ai,n=1f(n) = \begin{cases} a_i - a_{i-1}, &n>2\\ a_i, &n = 1 \end{cases}f(n)={ai−ai−1,ai,n>2n=1 它具有一下这些性质: bi的前缀和是ai的值。 若在序列a的[l,r]区间增加一个数d,对b的表现为在b[l] +d,b[r+1]-d。(通过这个性质可以实现区间
2020-12-01 00:45:20 1082
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人