首页 > 其他分享 >C. Nezzar and Symmetric Array

C. Nezzar and Symmetric Array

时间:2024-07-16 18:30:48浏览次数:16  
标签:Nezzar 2LL 200005 ll long Symmetric Array

原题链接

真恶心

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll N=114514;

ll a[200005],d[200005];

bool solve()
{
    ll n;
    cin>>n;

    for(ll i=1;i<=2*n;i++) cin>>d[i];
    sort(d+1,d+1+2*n);

    for(int i=2;i<=2*n;i+=2) if(d[i]%2||d[i]!=d[i-1]||d[i-2]==d[i-1]) return 0;//输入正确

    unique(d+1,d+1+2*n);

    if(d[n]%(2LL*n)) return 0;
    a[n]=d[n]/(2LL*n);
    if(a[n]<=0) return 0;
    ll sum=2LL*a[n];

    for(ll i=n-1;i>=1;i--)
    {
        if((d[i]-sum)%(2LL*i)) return 0;
        a[i]=(d[i]-sum)/(2LL*i);
        if(a[i]==a[i+1]||a[i]<=0) return 0;//构造正确
        sum+=2LL*a[i];
    }

    return 1;
}
int main()
{
    int t=1;
    cin>>t;
    while(t--)
        if(solve()) cout<<"yes\n";
        else cout<<"no\n";
    return 0;
}


标签:Nezzar,2LL,200005,ll,long,Symmetric,Array
From: https://www.cnblogs.com/pure4knowledge/p/18305868

相关文章

  • CodeForces 1983A Array Divisibility
    题目链接:CodeForces1983A【ArrayDivisibility】思路    按规律可得,当a[i]=i时满足题目要求。代码#include<functional>#include<iostream>#include<algorithm>#include<queue>#include<stdio.h>#include<string>#include<cstring......
  • LeetCode 2263. Make Array Non-decreasing or Non-increasing
    原题链接在这里:https://leetcode.com/problems/make-array-non-decreasing-or-non-increasing/description/题目:Youaregivena 0-indexed integerarray nums.Inoneoperation,youcan:Chooseanindex i intherange 0<=i<nums.lengthSet nums[i] to num......
  • ArrayDeque
    ArrayDeque又实现了Deque接口(Deque又实现了Queue接口)publicclassArrayDeque<E>extendsAbstractCollection<E>implementsDeque<E>,Cloneable,Serializable{}Deque与Queue相对应的接口QueueMethodEquivalentDequeMeth......
  • ArrayList
    创建ArrayList不指定初始大小List<String>list=newArrayList<>();调用无参构造方法,创建一个初始容量为10的空列表privatestaticfinalintDEFAULT_CAPACITY=10;privatestaticfinalObject[]DEFAULTCAPACITY_EMPTY_ELEMENTDATA={};publicArrayList(){......
  • CF1114F Please, another Queries on Array?
    一道很好的线段树+求欧拉函数题!!!先简单理解一下题意:给你一段长度为n的区间,q次操作,输入为1时将l~r区间每个数乘上x,输入为2时求解\(\varphi(\prod_{i=l}^{r}{a_i})\)。赛时心历经过:第一眼感觉是个线段树板子题,赛时也是这么想的,打到一半发现不对劲,首先这个乘积就没法维护,随便乘......
  • 2-ArrayList底层结构和源码分析
    2-ArrayList底层结构和源码分析介绍汇总:ArrayList的注意事项ArrayList的运行重要步骤补充1-ArrayList的注意事项ArrayList允许添加所有的元素,包括null,而且还可以多个null。ArrayList是由数组来实现数据存储的。ArrayList基本等同于Vector,除了ArrayList是线......
  • 0081_Search-in-Rotated-Sorted-Array-II【M】pivot 有序数组(值可重复)中的查找数值
    JY:pivot有序数组(值可重复)中的查找数值1、二分查找该题的任何解法同样可用于0033_search-in-rotated-sorted-array【M】中nums可能包含重复元素,这会影响到程序的时间复杂度吗?会,使用二分查找局部有序时,当nums[mid]==nums[low]时(或其它类似情况),无法确定左侧区间还是右......
  • div3E. Beautiful Array
    目录E.BeautifulArray原题链接题目思路代码E.BeautifulArray原题链接题目思路代码//https://codeforces.com/contest/1986/problem/E#include<bits/stdc++.h>#definecaseT\intT;\cin>>T;\while(T--)usingnamespacestd;usingll=lo......
  • day1-array-part01-7.3
    taskfortoday:1.数组理论基础,2.704.二分查找,3.27.移除元素-------------------------------1.数组理论基础-数组是存放在连续内存空间上的相同类型数据的集合。-数组内存不能删除只能覆盖-注意与容器的区别2.704二分查找二分法的两个条件:(1)有序数组;(2)无......
  • day2-array-part02-7.4
    taskfortoday1.977.有序数组的平方 2,209.长度最小的子数组 3.59.螺旋矩阵II---------------------------------------------1.977.有序数组的平方 -暴力法raiseeachelementinthearraytothepowerof2,andthensorttheminascendingorder.it......