首页 > 其他分享 >每日一道思维题——CF1772D - Absolute Sorting

每日一道思维题——CF1772D - Absolute Sorting

时间:2023-02-03 11:25:26浏览次数:41  
标签:Sorting b2 int LL a1 a2 数组 CF1772D Absolute

题意:

给定一个长度为n的数组,求出是否存在一个数x使得,由|ai-x|构成的数组bi满足(b<= bi+1)

思路:

对于任意两个数a1,a2求|ai-x|有以下几种情况

1. x < (a1,a2)/2:

    新数组 b1,b2 单调性与a1,a2单调性相同

2.x = (a1,a2)/2:

    新数组 b1=b2

3.x > (a1,a2)/2:

    新数组 b1,b2 单调性与a1,a2单调性相反

代码:

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
typedef long long LL;
const LL N = 2*1e5+10, INF = 0x3f3f3f3f;
LL a[N];
int main()
{
    int t;
    scanf("%d", &t);
    while(t--)
    {
        int n;
        scanf("%d", &n);
        for(int i = 0; i < n; i++)
        {
            scanf("%lld", &a[i]);
        }

        LL l = 0, r = INF;
        for(int i = 1; i < n; i++)
        {
            LL x = 0, y = INF; 
            if(a[i] > a[i-1]) y = (a[i]+a[i-1])/2;
            else if(a[i] < a[i-1]) x=(a[i]+a[i-1]+1)/2;
            l = max(l, x),r = min(r, y);
        }

        if(l > r) printf("-1\n");
        else printf("%lld\n", l);
    }
    return 0;
}

 

标签:Sorting,b2,int,LL,a1,a2,数组,CF1772D,Absolute
From: https://www.cnblogs.com/lys-blogs123/p/17088514.html

相关文章

  • POJ - 1094 Sorting It All Out
    POJ-1094SortingItAllOut题解:Floyd传递闭包A<BA<CB<CC<DB<DA<B首先他给你这些关系,比如说:A<B,B<C我们很容易就能推出啊A<C,显然满足传递性,所以我们利用传递......
  • CF1768E Partial Sorting
    可能更好的阅读体验题目传送门题目翻译题目解析显然我们可以证明\(f(p)\in\{0,1,2,3\}\)\(f(p)=0\)显然只有\(s_1=1\)种。考虑\(f(p)=1\)如果前面交换一次,那么......
  • CF1768E Partial Sorting - 组合数学 -
    题目链接:https://codeforces.com/contest/1768/problem/E题解:记P1为将\(1..2\timesn\)排序,P2为将\(n+1..3\timesn\)排序首先观察到答案一定不会超过3(P1P2......
  • getPath()与getAbsolutePath()的区别
    publicstaticvoidmain(String[]args){Filefile=newFile("\\data\\draw_lottery\\test1.txt");//取得相对路径System.out.println("P......
  • The CBO and Indexes: An Introduction (Absolute Beginners)
    OneofthemorecommonquestionsIgetaskedandoneofthemostcommonquestionsaskedinthevariousOraclerelatedforumsisthegeneralquestionofwhydoes......
  • D. Absolute Sorting
    D.AbsoluteSorting思路:如果a[i]>=a[i-1],那么我们最大可以减去(a[i]+a[i-1])/2,这样减完依旧是满足a[i]>=a[i-1]的。因此我们可以把所有满足a[i]>=a[i-1]......
  • CF1772D
    【题意】\(n\)个数的数组\(a\),选择一个\(x\in[0,10^9]\)使得\(b_i=|a_i-x|\)这个数组单调不减。\(n\le10^5,a_i\in[1,10^8]\)【分析】看到题目,第一......
  • [转]css的布局(display:弹性布局flex和网格布局grid)和定位(position:static,relative
    1.弹性布局flex文章地址:https://www.ruanyifeng.com/blog/2015/07/flex-grammar.html2.网格布局grid地址:https://www.ruanyifeng.com/blog/2019/03/grid-layout-tutor......
  • 瀑布流布局 不到30行代码实现(JavaScript + absolute)支持懒加载
    @目录前言一、使用css实现瀑布流布局1.flex布局2.column-count多栏布局3.grid网格布局二、结合JavaScript的瀑布流布局实现1.推荐原因2.实现步骤a.初步实现:结合JavaSc......
  • 一个有点咬文嚼字的 sorting 和 ordering
    为什么排序算法的英文是sorting而不是ordering。还真没有怎么研究过这个问题,一般来说数据库中对结果进行排序我们都习惯用OrderBy这个关键字。所有有关算法的排序......