Gym 100917J---dir -C(RMQ--ST)】的更多相关文章

Frequent values Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16543   Accepted: 5985 Description You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In addition to that, you are given several queries cons…
小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出n个音符,编号为1至n.第i个音符的美妙度为Ai,其中Ai可正可负. 一个“超级和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多于R.我们定义超级和弦的美妙度为其包含的所有音符的美妙度之和.两个超级和弦被认为是相同的,当且仅当这两个超级和弦所包含的音符集合是相同的. 小Z决定创作一首由k个超级和弦组成的乐曲,为了使得乐曲更加动听,小Z要求该乐曲由k个…
题目链接: https://codeforces.com/gym/102082 题意: 在一个客车里面有$r$排座位,每排座位有$2s$个座位,中间一条走廊 有$p$个人在车内,求出所有人走出客车的最短时间 数据范围: $1\leq r\leq 500$ $1\leq s\leq 500$ $1\leq p\leq 2sp$ 分析: 一道全场题,居然想了三个小时,我也是醉了. 解法一:模拟每秒他们的动作.如果有多个人下一秒要走向同一个位置,他们任何一个人走上去都行.重点是,这样的复杂度是$O(s…
http://acm.split.hdu.edu.cn/showproblem.php?pid=5726 题意:给出一串数字,现在有多次询问,每次询问输出(l,r)范围内所有数的gcd值,并且输出有多少数量区间的gcd值等于该gcd值. 思路: 第一问的话可以用线段树或RMQ来解决,RMQ的话简单点. 有意思的是第二问,假设我们现在固定左端点,那么往右端扩大区间时,gcd单调不增,并且每次至少减少一倍,所以我们可以二分枚举. #include<iostream> #include<alg…
http://www.lydsy.com/JudgeOnline/problem.php?id=1067 题意:…… 思路:首先我们开一个数组记录年份,一个记录降雨量,因为年份是按升序排列的,所以我们在每个询问找下标的时候可以二分搜索,然后对于每个询问我们是要寻找区间的最大值,因此我们可以使用ST表来做.比较麻烦的是判断三种答案的情况,做了一个下午.假设询问输入的是X和Y(X < Y)接下来分为四种情况: 1.X是已知,Y是已知.那么这是最容易想到的情况. 1-1.如果在[X+1,Y-1]区间中…
题意:N个数,M个询问,每个询问为一个区间,求区间最长连续子序列,要求每个数都不同(perfect sequence,简称PS). 题解:很容易求出以每个数为结尾的ps,也就是求区间的最大值.有一个不同就是长度可能会超出询问范围,所以先对PS的首位置二分,然后RMQ.注意一点,序列有可能出现负数,所以先加最大值变为正数.其实也不算变形,挺裸的…… 这题卡线段树,然而我只会线段树,心塞…… 代码(树状数组): #include <iostream> #include <cstring>…
Assignment Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 148    Accepted Submission(s): 71 Problem Description Tom owns a company and he is the boss. There are n staffs which are numbered fro…
inline int lca(int x,int y){ if(x>y) swap(x,y); ]][x]]<h[rmq[log[y-x+]][y-near[y-x+]+]])? rmq[log[y-x+]][x]:rmq[log[y-x+]][y-near[y-x+]+];} 查询代码如上 build(,); ;i<=N;i++) rmq[][i]=list[i]; ,j=,k=;i<=N;log[i]=j,near[i]=k,i++) ) j++,k*=; ,k=;k<=…
2006: [NOI2010]超级钢琴 Time Limit: 20 Sec  Memory Limit: 552 MBSubmit: 2792  Solved: 1388 Description 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的 音乐. 这架超级钢琴可以弹奏出n个音符,编号为1至n.第i个音符的美妙度为Ai,其中Ai可正可负. 一个“超级 和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多于R.我们定义超级和弦…
题目: 给出k个互不相同的证书组成的序列Ni,判断是否存在4个证书Np.Nq.Nr.Ns(1≤p<q<r<s≤k)使得Nq>Ns>Np>Nr或者Nq<Ns<Np<Nr. 思路: 有两种情况<小.最大.最小.大>.<大.最小.最大.小>,枚举第1个和第4个数,用RMQ查询这两个数之间的最大值和最小值,然后根据给出的条件判断一下就可以了. 看到好多大佬不用RMQ也写出来了,还需要在研究一下. 代码: #include <bit…