E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ2038
【BZOJ 2038】小Z的袜子
题目来源:
BZOJ2038
思路:莫队算法。先考虑计算答案的表达式,如果一种颜色xi有yi个,那么,在一段[l,r]的区间中ans=C2yiC2r−l+1=yi!2!(yi−2)!∗2!(r−l+1)!
yhf_2015
·
2020-08-11 01:19
【
BZOJ2038
】小Z的袜子,第一次的莫队算法
传送门写在前面:莫队竟如此暴力……思路:当初我对这个题的第一感觉——这个区间问题可以用线段树或者树状数组?答案当然是不能,于是我就去简单学了下莫队算法。在我看来,莫队(分块版,不是二维曼哈顿距离什么什么最小生成树)就是分块排序优化暴力查找,减少查找区间之间的覆盖长度,从而优化时间复杂度,有一种说法很精彩如果我们已知[l,r]的答案,能在O(1)时间得到[l+1,r]的答案以及[l,r-1]的答案,
iamxym
·
2020-08-11 01:35
bzoj2038
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2038题目大意:作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一
9栋108
·
2020-08-10 23:17
php
数据结构与算法
bzoj2038
莫队模板
题解rt。#include#include#include#include#definefo(i,a,b)for(inti=a;i=b;i--)usingnamespacestd;constintN=1e5+5;intn,m,pos[N],c[N];typedeflonglongll;lls[N],ans;structnode{intl,r,id;lla,b;}a[N];llgcd(lla,llb
Transcendence_magia
·
2020-08-10 19:24
bzoj
莫队
模板
模板-生成word
bzoj2038
小Z的袜子【莫队算法模板+详解】
解题思路:莫队出的模板题。如果我们知道了询问区间中每种颜色的数量cnti,那么一种颜色的贡献就是C2cnti,总方案数是C2r−l+1,每种颜色贡献求和再与总方案数求gcd即可。关键是如何快速统计区间内每种颜色的数量,这就要用到莫队算法。考虑建立两个指针l,r,表示区间[l,r]内每种颜色的数量已知。再将询问离线,按询问左端点所在块(块大小为n√)为第一关键字,右端点坐标为第二关键字排序,每次询问
Neo__Z
·
2020-08-10 15:31
莫队算法
bzoj
BZOJ2038
记得开longlong#include#include#include#include#include#definelllonglongusingnamespacestd;constintN=1e5+10;llgcd(lla,llb){returnb?gcd(b,a%b):a;}structnode{intl,r,id;}arr[N];intc[N],block,color[N];llsum,q[
Yuzzzzzz
·
2020-08-10 15:07
acm
BZOJ2038
2009国家集训队 小Z的袜子(hose) 题解&代码
莫队原例题【有气无力状】…手推那个O(1)的转移计算就行辣…一眼看过去和上一道题差别不大…懒得写其它解释了莫队详解参见上一题http://blog.csdn.net/rainbow6174/article/details/50858386——————————分割线————————————发出来之后代码格式错了orz心塞/***************************************
Rainbow6174
·
2020-08-10 14:27
BZOJ
莫队
BZOJ学习记录
【
BZOJ2038
】小Z的袜子(2009国家集训队)-莫队算法
测试地址:小Z的袜子做法:设f(i)为颜色i在区间[l,r]内出现的次数,则区间[l,r]的答案为:ΣC(2,f(i))/C(2,r-l+1),面对这种东西线段树就无能为力了......怎么办呢?于是本人今天学习了传说中离线处理区间询问的无敌算法——莫队算法,感觉妙极!莫队算法的讲解见这里。这篇博客中也以这一题作为例题,讲得比较详细了,那我就来讲讲具体实现吧:因为答案的式子中大部分都可以直接通过l
Maxwei_wzj
·
2020-08-10 14:55
算法-莫队算法
BZOJ2038
小Z的袜子(hose)【莫队算法】
2038:[2009国家集训队]小Z的袜子(hose)TimeLimit:20SecMemoryLimit:259MBDescription作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L尽管小Z并不在意两只袜子是不是完整的一双,甚至不
KnightHONG
·
2020-08-10 14:45
莫队算法
【
BZOJ2038
】【莫队】小z的袜子
Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。你的任务便是告诉小Z,他有多大的概率抽
Gregory99174
·
2020-08-10 14:50
莫队算法及应用
若谈及入门,那么
BZOJ2038
的美妙袜子一题堪称顶尖。【例题一】袜子传输门·述大意:进行区间询问[l,r],输出该区间内随机抽两次抽到相同颜色袜子的概率。
剑锋OI
·
2020-07-31 18:53
数据结构
莫队算法
====数据结构====
算法总结
数据结构问题
莫队算法
参考题目链接:
BZOJ2038
[2009国家集训队]小Z的袜子(hose)题解:只需要统计区间内各个数出现次数的平方和。莫队算法,两种方法,一种是直接分成sqrt(n)块,分块排序。
f_zyj
·
2020-07-31 17:20
ACM模版篇
数据结构
ACM模板-f_zyj
【
bzoj2038
】国家集训队 小Z的袜子[莫队]
国家集训队小Z的袜子P1494国家集训队]小Z的袜子
bzoj2038
已知区间\([l,r]\)中袜子出现次数为\(a,b,c...\)则为\((a*(a-1)/2+b*(b-1)+c*(c-1)/2..
委屈的咸鱼鱼鱼鱼
·
2019-09-04 22:00
低错合集
BZOJ2038
小Z的袜子emm,大概是板子没看好没记住,四个while里的++--一定要区分好,记不住的话,你可以想想你是要算它还是算它
hzoi_X&R
·
2019-07-24 07:00
BZOJ2038
小Z的袜子 (莫队算法)
作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。你的任务便是告诉小Z,他有多大的概率抽到两只颜色相同的袜子。
墨碎江南
·
2018-08-11 10:49
莫队算法
【莫队算法】
BZOJ2038
[2009国家集训队]小Z的袜子
题面在这里莫队的经典题……对于已知区间[L,R],它的答案是:∑C2c[i]的个数C2R−L+1由于处理分数比较麻烦,所以我们只要维护分子即可即:对于变化的c[i]个数(设为x),维护C2x减去原来的,加上后面的即可附上代码:#include#include#include#defineLLlonglongusingnamespacestd;constintmaxn=50005;intn,q,a[
linkfqy
·
2017-04-26 14:06
BZOJ
莫队
常见OJ题解专栏
我的OI历程
BZOJ2038
: [2009国家集训队]小Z的袜子(hose) 莫队算法 莫队算法讲解及时间复杂度证明
2038:[2009国家集训队]小Z的袜子(hose)TimeLimit:20SecMemoryLimit:259MBSubmit:7088Solved:3258[Submit][Status][Discuss]Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z
Oakley_
·
2016-08-17 19:33
BZOJ
莫队
BZOJ
莫队
bzoj2038
分块
2038:小Z的袜子(hose)Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。你的
u013491262
·
2016-05-06 19:00
【
bzoj2038
】[2009国家集训队]小Z的袜子(hose) 莫队
Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。你的任务便是告诉小Z,他有多大的概率抽
LOI_DQS
·
2016-04-20 12:00
【
BZOJ2038
】小Z的袜子,第一次的莫队算法
传送门写在前面:莫队竟如此暴力……思路:当初我对这个题的第一感觉——这个区间问题可以用线段树或者树状数组?答案当然是不能,于是我就去简单学了下莫队算法。在我看来,莫队(分块版,不是二维曼哈顿距离什么什么最小生成树)就是分块排序优化暴力查找,减少查找区间之间的覆盖长度,从而优化时间复杂度,有一种说法很精彩如果我们已知[l,r]的答案,能在O(1)时间得到[l+1,r]的答案以及[l,r-1]的答案,
xym_CSDN
·
2016-03-14 19:00
BZOJ2038
2009国家集训队 小Z的袜子(hose) 题解&代码
莫队原例题【有气无力状】…手推那个O(1)的转移计算就行辣…一眼看过去和上一道题差别不大…懒得写其它解释了莫队详解参见上一题http://blog.csdn.net/rainbow6174/article/details/50858386——————————分割线————————————发出来之后代码格式错了orz心塞/***************************************
Rainbow6174
·
2016-03-11 19:00
bzoj
bzoj2038
小Z的袜子 序列莫队模板
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2038思路:orz莫涛,自己写模板一下A掉就是开心是不是啊,,,就是大模拟吧,莫队算法还是有很多应用的要好好学习,,好好分块,不要去log,,#include #include #include #include #include #include #defineN50000 usingnam
qq_20669971
·
2016-03-09 17:00
【
BZOJ2038
】[2009国家集训队]小Z的袜子(hose)【莫队】
裸的模板。/*FootprintsInTheBloodSoakedSnow*/ #include #include usingnamespacestd; typedeflonglongLL; constintmaxn=50005,maxm=maxn,maxsqrtn=224; intn,m,num[maxn],cnt[maxn]; LLans[maxm],deno[maxm]; stru
BraketBN
·
2016-03-08 23:00
CodeForces 86D Powerful array(莫队算法)
和
BZOJ2038
差不多。。复习一下。
WABoss
·
2016-03-07 22:00
bzoj2038
【2009国家集训队】小Z的袜子(hose)
2038:[2009国家集训队]小Z的袜子(hose)TimeLimit: 20Sec MemoryLimit: 259MBSubmit: 5667 Solved: 2605[Submit][Status][Discuss]Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…
AaronGZK
·
2016-03-03 22:00
分块
bzoj
莫队算法
bzoj2038
【2009国家集训队】小Z的袜子(hose)
2038:[2009国家集训队]小Z的袜子(hose)TimeLimit: 20Sec MemoryLimit: 259MBSubmit: 5667 Solved: 2605[Submit][Status][Discuss]Description作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…
AaronGZK
·
2016-03-03 22:00
分块
bzoj
莫队算法
BZOJ2038
[2009国家集训队]小Z的袜子(hose)(莫队算法)
神奇的莫队算法,用来解决可离线无修改的区间查询问题:首先对原序列进行分块,√n块每块√n个;然后对所有查询的区间[l,r]进行排序,首先按l所在的块序号升序排序,如果一样就按r升序排序;最后就按顺序一个一个求出各个查询的结果:知道[l,r]的答案,并且在此基础上能在比较快地在O(x)得到相邻区间[l+1,r]、[l-1,r]、[l,r-1]、[l,r+1]的答案,那样就能从[l,r]的基础上对lr
WABoss
·
2016-02-29 10:00
[
BZOJ2038
][2009国家集训队]小Z的袜子(hose)(莫队)
题目描述传送门题解首先求概率的方法为:假设在LR这段区间里颜色为x,y,z…的袜子分别有a,b,c…个。那么概率(利用排列组合推导)p=a(a−1)2+b(b−1)2+c(c−1)2+…(R−L+1)(R−L)2=a2+b2+c2+…−(a+b+c+…)(R−L+1)(R−L)a2+b2+c2+…−(R−L+1)(R−L+1)(R−L)那么我们用莫队算法+分块乱搞就能求出答案。O(nn√)首先离线
Clove_unique
·
2016-02-23 20:04
题解
莫队
【
BZOJ2038
】【集训队2009】小Z的袜子(分块+莫队)
题目描述传送门题解首先求概率的方法为:假设在LR这段区间里颜色为x,y,z…的袜子分别有a,b,c…个。那么概率(利用排列组合推导)p=a(a−1)2+b(b−1)2+c(c−1)2+…(R−L+1)(R−L)2=a2+b2+c2+…−(a+b+c+…)(R−L+1)(R−L)a2+b2+c2+…−(R−L+1)(R−L+1)(R−L)那么我们用莫队算法+分块乱搞就能求出答案。O(nn√)首先离线
Clove_unique
·
2016-02-23 20:00
分块
bzoj
集训队
莫队
BZOJ2038
小Z的袜子 (莫队算法)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2038专题练习:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=29469#overview (转自kuangbin) 2038:[2009国家集训队]小Z的袜子(hose)TimeLimit: 20Sec MemoryLimit
徐王
·
2016-02-18 19:00
【
bzoj2038
】小Z的袜子 莫队算法
学习了一下莫队算法。核心就是在可以通过当前状态(l,r)的结果,能够在O(1)时间内推出相邻状态(l-1,r)(l+1,r)(l,r-1)(l,r+1)的结果的前提下,通过安排询问的次序,使总时间复杂度在O(N^1.5)内。因此这实际上是一个离线算法。同时指出,在满足上述前提的情况下,任意两个状态(l1,r1)(l2,r2),在已知一个的情况下都可以在O(|l1-l2|+|r1-r2|)的
lych_cys
·
2016-01-23 16:00
分块
莫队算法
【
BZOJ2038
】【莫队】小z的袜子
Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。你的任务便是告诉小
·
2015-11-11 19:30
ZOJ
莫队算法学习笔记【
BZOJ2038
:小Z的袜子】【SPOJ3267:D-query】
很久以前傻乎乎地看来源奇怪的资料的时候被各种曼哈顿弄晕了。 然后现在学会的是分块方法。另新创一个分块方法。 让我们考虑这样一个区间询问问题…… 它有如下的性质: 0,n个数,Q个询问。 1,它没有修改操作,这意味着我们可以按我们喜欢的次序跟询问玩耍。实际上后面会讲到我们完全可以按任意次序玩耍。 2,如果我们知道区间询问 [L , R] 对应的值,我们可以轻易求出&nbs
·
2015-11-11 01:26
query
分块 莫队 初见
cogs1775||
bzoj2038
小Z的袜子 题目大意:静态区间查询不同种元素的个数。
·
2015-11-02 15:00
BZOJ2038
: [2009国家集训队]小Z的袜子(hose) -- 莫队算法 ,,分块
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MB Submit: 3577 Solved: 1652 [ Submit][ Status][ Discuss] Description 作为一个生活散漫的人,小Z每天早上都要
·
2015-10-31 18:11
ZOJ
莫队分块算法模板[
BZOJ2038
]
#include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; voidfre(){freopen("c://test//input.in","r",stdin);freopen("c://t
snowy_smile
·
2015-10-28 09:00
bzoj2038
(莫队算法
题目:给出一个数列,要求快速查询区间lr内相同数字的对数。思路:对于每次询问暴力跑,但是我们注意到由于可以复用之前的结果,所以不同的计算顺序计算量可能不同,直观上来说,两个查询点的曼哈顿距离越短,需要计算的量就越小。于是我们可以找出一个最佳计算顺序,就是平面点阵的最短哈密顿回路。由于这是np的,所以可以用最小曼哈顿生成树代替。再简化一下,可以使用分快处理的方法得到比较快的速度。这就是所谓的莫队算法
PlusSeven
·
2015-10-21 16:00
bzoj2038
: [2009国家集训队]小Z的袜子(hose)
传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2038思路:首先对于一个[l,r]的询问,设col[i]表示第i种颜色在这一区间内的个数,那么随机抽到相同一对的概率就是∑C(col[i],2)/C(r-l+1,2)然后有:∑(col[i]^2-col[i])/((r-l+1)*(r-l))然后我们发现得到了[l,r]的答案后,我们可
thy_asdf
·
2015-08-09 09:00
莫队算法
BZOJ 2038 小Z的袜子(hose) (莫队离线)
题目地址:
BZOJ2038
裸的莫队算法。
u013013910
·
2015-07-24 11:00
编程
ACM
算法与数据结构
莫队
BZOJ2038
[2009国家集训队]小Z的袜子(分块法)
【题解】本题中,每个区间的答案不能由子问题合并得到,所以不能使用分治一类的数据结构如线段树等 而ans=sigma(cnt[color[i]]*(cnt[color[i]]-1)/2),构成答案的颜色不止一种,所以要将不同颜色分开算答案 但n #include #include #include typedeflonglongLL; LLans[50005]; intcol[50005],bel[
cjk_cjk
·
2015-06-25 01:00
BZOJ2038
【莫队算法】
/*Iwillwaitforyou*/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #definemakemake_pair #definefifirst #definesesecond
Lethelody
·
2015-05-05 11:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他