P1494 小Z的袜子】的更多相关文章

P1494 小Z的袜子 莫队板子题,对询问进行排序+分块,从而得到巧妙的复杂度 对于L,R的询问. 设其中颜色为x,y,z的袜子的个数为a,b,c... 那么答案即为 (a*(a-1)/2+b*(b-1)/2+c*(c-1)/2....)/((R-L+1)*(R-L)/2)(a∗(a−1)/2+b∗(b−1)/2+c∗(c−1)/2....)/((R−L+1)∗(R−L)/2) 化简得: (a^2+b^2+c^2+...x^2-(a+b+c+d+.....))/((R-L+1)*(R-L))(a…
题面 Bzoj 洛谷 题解 考虑莫队算法,首先对询问进行分块(分块大小为\(sqrt(n)\)),对于同一个块内的询问,按照左端点为第一关键字,右端点为第二关键字排序.我们统计这个区间内相同的颜色有多少个,假设某种颜色\(i\)有\(j\)个,则贡献就是\(j\times(j-1)\),最后记得化成既约分数. #include <set> #include <cmath> #include <cstdio> #include <cstring> #inclu…
我的第二道莫队题,对莫队又有了自己的看法. 在第一题的基础上之上,觉得莫队有个很关键的地方在于 莫队所维护的值是什么,怎么推出维护的公式来. 这道题就是这样,一开始还没自己推出公式来,也有几个坑点. 题目链接:https://www.luogu.org/problemnew/show/P1494 题目大意:给出区间值,询问给定的[l, r]区间内抽到两只颜色一样的概率是多少. 思路: 1.首先很重要的推出公式来,设颜色相同的数量分别为a, b, c...那么对于给定的区间[l, r],概率为 (…
题干 就是将$add$和$del$函数里的$ans$变化变成组合数嘛, 先预处理出$x$只相同袜子一共有$f[x] = 1+2+...+$$(x-1)$种组合, 要注意,由于$f[x]$是一直加到$x-1$,所以我们要$add,del$两个函数中都要关注这个问题: $add$函数要先更改$ans$数值再改$cnt$,$del$函数要先更改$cnt$再改$ans$数值 再就是直接套莫队板子了,板子还是注意给问题排序时要分块 当然小学数学老师教过我们,分数再最后要约分 上代码: #include<i…
题意:在[l, r]之中任选两个数,求它们相同的概率. 解: 莫队入门. 概率这个很好搞,就是cnt * (cnt - 1) / 2. 然后发现每次挪指针的时候,某一个cnt会+1或-1.这时候差值就是2 * cntsmall. #include <cstdio> #include <algorithm> #include <cmath> typedef long long LL; ; int a[N], bin[N], fr[N]; LL ans; struct AS…
正解:莫队 解题报告: 这是,传送门qwq 昂大概是莫队板子题? 首先可以推出来答案是(∑C(2,color[i]))/C(2,r-l+1)趴?挺显然的不解释了qwq 然后显然除数直接做就成,考虑怎么求被除数 ∑C(2,color[i]) 可以发现从[l,r]到[l,r+1]只++color[r+1]然后就没有改变了呢,那答案就只用改变一点儿(懒得港多少了太容易算了...),所以考虑用莫队 似,似乎就没了? 好趴果然板子题没什么好讲的呢 (啊想起来,就是,这个代码我觉得不是最板子的?就是和书上的…
P1494 小Z的袜子 终于了解了莫队算法(更专业的名称Square Root Decomposition of Queries) 莫队算法: 一般来说解决静态(实际上也有修改的但复杂度更高)的离线(离线意味着需要知道所有查询)区间查询 我理解的特点是从区间[L,R]到区间[L,R-1],[L+1,R],[L-1,R],[L,R+1]复杂度低 相较与线段树,线段树要求[l,mid],[mid,r]-->[l,r]复杂度较低 莫队时间复杂度为O(nlogn) 采用的是分块处理查询 实现需要注意的点…
题目 P1494 [国家集训队]小Z的袜子 解析 在区间\([l,r]\)内, 任选两只袜子,有 \[r-l+1\choose2\] \[=\frac{(r-l+1)!}{2!(r-l-1)!}\] \[=\frac{(r-l+1)(r-l)}{2}\] 种选择. 对于一种颜色 设在区间\([l,r]\)内出现次数为\(cnt_i\) 从\(cnt_i\)只这种颜色的袜子里任选两只 就有\[cnt_i\choose2\] \[=\frac{cnt_i}{2!(cnt_i-2)}\] \[=\fr…
P1494 [国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小\(Z\)每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小\(Z\)再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小\(Z\)把这\(N\)只袜子从\(1\)到\(N\)编号,然后从编号\(L\)到\(R\)(\(L\)尽管小\(Z\)并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬. 你的任务便是告诉小\(Z\)…
P1494 [国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬. 你的任务便是告诉小Z,他有多大的概率抽到两只颜色相同的袜子.当然,小Z希望这个概率尽量高,所以他可能会询问…