hdu 5857 Median ★
题意:
给出一个有序的数列.
求由 A[l1]~A[r1] 与 A[l2]~A[r2] 组成的新序列的中位数.
题解:
把区间分成三部分,其中一个是相交部分,然后找中位数就好了;
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <cmath>
#include <vector>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define L(i) i<<1
#define R(i) i<<1|1
#define INF 0x3f3f3f3f
#define pi acos(-1.0)
#define eps 1e-9
#define maxn 100100
#define MOD 1000000007int n,m;
int a[100010];
int l1,r1,l2,r2;
int solve(int len)
{if(r1 <= l2){if(r1-l1+1 >= len)return a[l1+len-1];else{len -= r1 - l1 + 1;return a[l2+len-1];}}else{if(l2-l1 >= len)return a[l1+len-1];else if(l2-l1+(r1-l2+1)*2 < len){len -= r1-l1+1;return a[l2+len-1];}else{len -= l2 - l1;if(len & 1)return a[l2+len/2];elsereturn a[l2+len/2-1];}}
}int main()
{//freopen("1001.in","r",stdin);//freopen("out.txt","w",stdout);int t,C = 1;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);for(int i = 1; i <= n; i++)scanf("%d",&a[i]);while(m--){scanf("%d%d%d%d",&l1,&r1,&l2,&r2);if(l1 > l2)swap(l1,l2);if(r1 > r2)swap(r1,r2);int len = r1 - l1 + 1 + r2 - l2 + 1;if(len & 1)printf("%.1f\n",1.0*solve(len/2+1));elseprintf("%.1f\n",0.5*solve(len/2)+0.5*solve(len/2+1));}}return 0;
}
hdu 5857 Median ★相关推荐
- HDU - 7029 Median 思维
传送门 文章目录 题意: 思路: 题意: 给你1,2,...,n1,2,...,n1,2,...,n一共nnn个数,你需要将其分成mmm组,使得每组的中位数为bib_ibi,保证bib_ibi互不 ...
- HDU - 3194 Median
OJ地址:https://vjudge.net/problem/HDU-3194 This problem is also easy. Given N numbers, and please find ...
- HDU 3282 Running Median 动态中位数,可惜数据范围太小
Running Median Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pi ...
- HDOJ 1157 HDU 1157 Who's in the Middle ACM 1157 IN HDU
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1157 题目描述: ...
- 2021HDU多校6 - 7029 Median(思维)
题目链接:点击查看 题目大意:初始时给出 nnn 个数字 1,2,3,...,n{1,2,3,...,n}1,2,3,...,n,再给出 mmm 个中位数,问是否能将 nnn 个数字分到 mmm 个组 ...
- HDU 4389 - X mod f(x)
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4389 2012多校,第9场,1010 . 问题是,询问区间内 存在多少个 哈沙德数(Harshad ...
- hdu 4389 囧,打表
http://acm.hdu.edu.cn/showproblem.php?pid=4389 题意 :一个数能被他各个位数之和整除则符合要求,给L,R,问区间里有多少个数符合要求. 囧,居然打表就能过 ...
- PyTorch 笔记(07)— Tensor 的归并运算(torch.mean、sum、median、mode、norm、dist、std、var、cumsum、cumprod)
1. Tensor 归并运算函数 此类操作会使输出形状小于输入形状,并可以沿着某一维度进行指定操作,如加法, 既可以计算整个 tensor 的和,也可以计算 tensor 每一行或者 每一列的和, 常 ...
- HDU——1106排序(istringstream的使用、STLvector练习)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- hdu 5438 Ponds 拓扑排序
Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...
最新文章
- 利用Matlab优化工具箱解数独问题
- 人工智能:一种现代方法汇总
- QT乱码总结7.编码测试和总结二
- gdp笔记本 linux,linux中如何使用微软鼠标的第4、5键
- 双绞线传输距离_视频监控系统中布线常用传输线缆分类及制作方法
- “价值互联网”时代,带你读懂区块链
- office linux版本好用吗,Linux最好的最适合新手的版本是什么
- 灵格斯与众多常用软件的冲突问题
- 一流科技登上开源供应商名录
- mysql一个汉字是几个字节_mysql里一个中文汉字占多少字节数?
- libreCAD源码阅读笔记4
- 动态测试与静态测试--手工测试和自动化测试
- 简评几款开源RISC-V处理器
- git学习笔记——Linux和Windows下git的基本操作
- SSM毕设项目酒店餐饮管理系统ls1a2(java+VUE+Mybatis+Maven+Mysql)
- python中raw是什么意思_对于Python中RawString的理解
- 如何使用excel批量生成sql语句
- Ubuntu-20.04-noetic安装cartographer100%成功
- linux下c语言写界面,利用C语言绘制操作系统图像界面
- 教你批量查询FEDEX国际件快递单号的详细物流情况