莫队
2020linweitong
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
洛谷 P3901 数列找不同 题解
洛谷 P3901 数列找不同 题解 题目:在此。 静态查询区间内是否全部不同。 有很多别的算法,具体讲莫队。 首先按询问离线排序,然后移动一下,每一次将当前的(l,r)(l,r)(l,r)移动到询问的(l,r)(l,r)(l,r),边移边算贡献。 #include<bits/stdc++.h> using namespace std; int n,m,q,a[100005],ans[100005],e[100005],cnt[100005],sum; struct query{ int l,r原创 2021-06-13 19:35:40 · 239 阅读 · 1 评论 -
洛谷 P2709 小B的询问 题解
洛谷 P2709 小B的询问 题解 题目:在此。 查询平方,考虑如何算贡献。 假设原来的数是xxx,多了111,那么贡献增加(x+1)2−x2=2x+1(x+1)^2-x^2=2x+1(x+1)2−x2=2x+1。 假设现在的数是xxx,原来减了111,那么贡献减少(x+1)2−x2=2x+1(x+1)^2-x^2=2x+1(x+1)2−x2=2x+1。 与上题类似,用莫队维护即可。 #include<bits/stdc++.h> using namespace std; int n,m,k,q原创 2021-06-13 19:34:30 · 153 阅读 · 0 评论 -
洛谷 P1494 [国家集训队]小Z的袜子 题解
洛谷 P1494 [国家集训队]小Z的袜子 题解 题目:在此。 考虑贡献。 一段区间是(l,r)(l,r)(l,r),那么总选择数是Cr−l+12C^2_{r-l+1}Cr−l+12。 设有kkk个不同颜色,第iii个有aia_iai次,那么这一个的贡献是Cai2C_{a_i}^2Cai2。 所以答案为∑Cai2Cr−l+12\frac {\sum C_{a_i}^2}{C_{r-l+1}^2}Cr−l+12∑Cai2。 莫队维护Cai2C_{a_i}^2Cai2。 具体,假设某种颜色原原创 2021-06-13 19:33:09 · 192 阅读 · 0 评论
分享