hdu5857模拟

原创 2016年08月31日 10:47:12

所有的情况都可以转化成分离和相交两种情况,再分类讨论

#include <cmath>
#include <cstdio>
#include <iostream>
using namespace std;

const int maxn=100010;

int 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];
            else
                return a[l2+len/2-1];
        }
    }
}

int main()
{
    int t;
    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));
            else
                printf("%.1f\n",0.5*solve(len/2)+0.5*solve(len/2+1));
        }
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

2016多校训练Contest10: 1001 Median hdu5857

Problem Description There is a sorted sequence A of length n. Give you m queries, each one contai...

Median(HDU-5857)

点击打开原题链接 Problem Description There is a sorted sequence A of length n. Give you m queries, each ...

HDU-5857-Median

链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5857 题意:求有序序列中[l1,r1],[l2,r2]两端区间的中间数 题解:由于是有序序...

2016多校训练Contest10: 1001 Median hdu5857

题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=5857 MedianProblem DescriptionThere is a sorted ...

Median - hdu5857

题目链接 题意:给你一个包含n个数的序列和m个询问,每个询问包含两个区间,求出这两个区间包含的所有数的中位数。 思路:分两种情况讨论即可,一种是两区间没有交集,一种是有交集。 代码: /// ...

hdu1896(模拟+优先级队列)

Stones Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Sub...

HDU 5374 Tetris 俄罗斯方块 模拟

这道题是喜闻乐见的大模拟题。 题目大意:在一个9X12的格子中玩俄罗斯方块,给定所有可能的方块形态,给定方块的掉落顺序,给定操作,w表示旋转,a表示左移,b表示右移,d表示下落一格(实际下落两格),...

HDU 1022 Train Problem I (STL 栈模拟)

Train Problem I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)...

HDU1027_Ignatius and the Princess II_非模拟做法

Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

HDU 5929 Basic Data Structure 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)

Basic Data Structure Time Limit: 7000/3500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)