- 博客(3)
- 资源 (2)
- 收藏
- 关注
原创 YbtOJ 冲刺 NOIP2021 模拟赛 B 组 Day4 B. 循环数组【数学】
题目 思路 这道题我们对每个数考虑贡献。 设last为上一个当前数出现的位置。 显然可得:(i−lasti−1)+(n−i)+(i−lasti−1)∗(n−i)+1(i-last_i-1)+(n-i)+(i-last_i-1)*(n-i)+1(i−lasti−1)+(n−i)+(i−lasti−1)∗(n−i)+1 因式分解可得: (i−lasti)(n−i+1)(i-last_i)(n-i+1)(i−lasti)(n−i+1) 把范围扩大到 n×kn\times kn×k 那我们可以把相同相对位置
2021-09-25 16:55:55 134
原创 YbtOJ 冲刺 NOIP2021 模拟赛 B 组 Day4 A. 统计集合【数学】
题目 思路 这道题比赛时我只会 O(n2)O(n^2)O(n2) 的做法。 但是其实已经非常接近了。 我们对于每个 iii 单独来考虑它对答案的贡献。 当我们把数组排序,那么 iii 就会产生 i×2i−1i\times 2^{i-1}i×2i−1 的最大贡献(向前);同理,iii 会产生 i×2n−ii\times 2^{n-i}i×2n−i 的最小贡献(向后)。 那么 summax−summinsum_{\max}-sum_{\min}summax−summin 就是答案。 代码 #inclu
2021-09-25 16:07:15 108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人