Find the hotel HDU - 3193(RMQ)】的更多相关文章

题意: 有n个旅馆,从这n个旅馆中找出若干个旅馆,使得这若干个旅馆满足这样的条件:不能从其它和剩下的旅馆中找到一个价格和距离都小于这个旅馆的旅馆... 解析: 按price 排序,若price相同, 则按距离排序 然后遍历每一个旅馆,在处理当前 旅馆时,二分在price小于当前旅馆price的旅馆中 找到最后一个price小于当前旅馆price的旅馆(因为可能price相同) 然后rmq求距离最小值就可 #include <iostream> #include <cstdio> #…
Summer again! Flynn is ready for another tour around. Since the tour would take three or more days, it is important to find a hotel that meets for a reasonable price and gets as near as possible! But there are so many of them! Flynn gets tired to loo…
http://acm.hdu.edu.cn/showproblem.php?pid=6305 题目 对于A,B两个序列,任意的l,r,如果RMQ(A,l,r)=RMQ(B,l,r),B序列里的数为[0,1]的实数,B的重量为B的所有元素的和,否则为0.问你B的期望重量是多少. 分析 准备知识:笛卡尔树https://skywt.cn/posts/cartesian-tree/ RMQ-Similar实际上就是A和B的笛卡尔树一样.于是这个题就是笛卡尔树同构的问题,假设A的笛卡尔树的子树大小为sz…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6305 看题解,得知: 0~1内随机取实数,取到两个相同的数的概率是0,所以认为 b 序列是一个排列. 两个序列“RMQ相似”,意为它们的笛卡尔树同构.注意有相同值的时候,后出现的应该位于先出现的的子树中. 一个排列的笛卡尔树与给定笛卡尔树同构的概率是 \( \prod\limits_{i=1}^{n}\frac{1}{siz_i} \) ,其中 \( siz_i \) 表示树上编号为 i 的点的子树大小…
找到一个区间内出现最多的数的次数 10 3 //10个数字三次询问 -1 -1 1 1 1 1 3 10 10 10 2 3 1 10 5 10 0 143 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<queue> using namespace std; ; int n,m; ;…
6305.RMQ Similar Sequence 这个题的意思就是对于A,B两个序列,任意的l,r,如果RMQ(A,l,r)=RMQ(B,l,r),B序列里的数为[0,1]的实数,B的重量为B的所有元素的和,否则为0.问你B的期望重量是多少. dls讲题说是笛卡尔树,笛卡尔树是一种特定的二叉树数据结构,具体的看这篇博客吧:[pushing my way]笛卡尔树 这个题就是笛卡尔树同构的问题,假设A的笛卡尔树的子树大小为sz[u],那么序列B与A同构的概率为,因为B中的数满足均匀分布(因为B中…
区间的价值 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 844    Accepted Submission(s): 398 Problem Description 我们定义“区间的价值”为一段区间的最大值*最小值. 一个区间左端点在L ,右端点在R ,那么该区间的长度为(R−L+1) . 现在聪明的杰西想要知道,对于长度为k 的区…
题目大意: 给你一个数字字符串序列,给你要求删掉的数字个数m,删掉m个数使的剩下的数字字符串的之最小.并输出这个数字: 基本思路; 这题解法有很多,贪心,rmq都可以,这里选择rmq,因为很久没有写rmq的题目了,所以这里先来一发. 至于鸽巢原理,这应该是一个很显而易见的道理,自己去脑补吧. 代码如下: #include<iostream> #include<cstdio> #include<string> #include<cstring> #includ…
Solved A HDU 6298 Maximum Multiple Solved B HDU 6299 Balanced Sequence Solved C HDU 6300 Triangle Partition Solved D HDU 6301 Distinct Values   E HDU 6302 Maximum Weighted Matching   F HDU 6303 Period Sequence Solved G HDU 6304 Chiaki Sequence Revisi…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5726 给你n个数,q个询问,每个询问问你有多少对l r的gcd(a[l] , ... , a[r]) 等于的gcd(a[l'] ,..., a[r']). 先用RMQ预处理gcd,dp[i][j] 表示从i开始2^j个数的gcd. 然后用map存取某个gcd所对应的l r的数量. 我们可以在询问前进行预处理,先枚举i,以i为左端点的gcd(a[i],..., a[r])的种类数不会超过log2(n)…