首页 > 其他分享 >[AGC010B]Boxes

[AGC010B]Boxes

时间:2023-05-29 12:12:47浏览次数:46  
标签:AGC010B return puts sum 差分 Boxes

AGC010B Boxes

先将题目转换成正着的,即由全 \(0\) 变为给定的序列。操作次数为 \(k=\dfrac{\sum a_i}{n(n+1)\div 2}\)。条件 \(k\) 必定是整数很显然。

这道题的重点在于这个增加的数列是一个等差数列,考虑到这样差分数组十分方便,对 \(a\) 原地差分,设以 \(i\) 为起点做一次操作,进行差分,发现除了 \(i\) 是 \(+1-n\) 其他都是 \(-1\)。考虑设 \(m_i\) 表示以它为起点的次数,则必须满足 \((k-m_i)+(1-n)m_i=a_i\),得 \(m_i=\dfrac{k-a_i}{n}\)。显然 \(m_i\) 必须要是非负整数。

#include<cstdio>
using namespace std;
#define Ls(i,l,r) for(int i=l;i<r;++i)
#define Rs(i,l,r) for(int i=l;i>r;--i)
#define L(i,l) for(int i=1;i<=l;++i)
const int N=100010;
typedef long long ll;
ll a[N],d[N],c,sum,n;
int main(){
    scanf("%lld",&n);
    c=n*(n+1)>>1;
    L(i, n)scanf("%lld",a+i),sum+=a[i];
    if(sum%c){
        puts("NO");
        return 0;
    }
    sum/=c;
    L(i, n)d[i]=a[i%n+1]-a[i];
    L(i, n)
        if(d[i]>sum||(sum-d[i])%n){
            return puts("NO"),0;
        }
    puts("YES");
    return 0;
}

标签:AGC010B,return,puts,sum,差分,Boxes
From: https://www.cnblogs.com/wscqwq/p/17440087.html

相关文章

  • How to migrate mailboxes from O365 to O365?
    Office365isapowerfulsuiteofapplicationsthatoffersawiderangeoffeaturestohelpbusinessesrunefficiently.However,asbusinessesgrow,theyoftenneedtomergeoracquireothercompanies,leadingtotenant-to-tenantmigration.Thisarticlew......
  • osboxes 方便的主机镜像服务
    osboxes提供了可以直接使用的虚拟机镜像,我们可以直接进行使用,可以加速日常的测试,目前支持virtualbox以及vmware对于经常需要测试的是一个不错的选择,当然基于vgrant也是一个不错的快速环境搭建的工具参考资料https://www.osboxes.org/https://app.vagrantup.com/boxes/searchht......
  • UVa 103 Stacking Boxes (DP&DAG)
    103-StackingBoxesTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=39BackgroundSomeconceptsinMathematicsandComputerSciencearesimpleinoneortw......
  • Pencils and Boxes CF985E
    给出nn个整数a1,a2,...,an,现在需要对其进行分组,使其满足以下条件:每个数都必须恰好分入一组中每一组中必须至少包含K个数在每一组中,整数的权值之差的绝对值<=D。......
  • 如何在 GNOME Boxes中的宿主机和客体机之间共享一个文件夹
    导读使用下面的步骤在GNOMEBoxes应用中的宿主机和客体机之间共享一个文件夹。GNOMEBoxes是一个创建和管理虚拟机的前端应用。它主要是为GNOME桌面开发的。......
  • CodeForces - 1066D Boxes Packing 没做出来 题意 思维
    D.BoxesPackingtimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputMaksimhas nn objectsand mm boxes,eac......
  • UVA 12657 Boxes in a Line (双向链表)
    题意:给定N个盒子,分别标号为1~N;有下面4种操作:“1 X Y” 表示将X移到Y的左边;“2 X Y” 表示将Y移到Y的右边;“3 X Y” 表示交换X与Y的位置;“4”  表示将1~N所有的......
  • AT_joi2022_yo1a_d 箱と鍵 (Boxes and Keys) 题解
    题目传送门题目大意给定一个长度为\(n\)的数组\(a\)和一个长度为\(m\)的数组\(b\),求\(a\)中有多少个数在\(b\)中出现过。解题思路数据比较小,可以直接暴力:......
  • 【CF1292F】Nora's Toy Boxes(状压DP)
    考虑将点分为$A,B$两类。其中$[x\inA]\iff\exists_{y\neqx},y|x$。那么我们删去的点只可能在$B$类中,且当前$x\inB$可删当且仅当存在$y\inB,z\inA$使得$z|x......
  • Yolo系列要开播了!先从Bounding Boxes中能够学习什么开个头
    Wheredoesitcomefrom?TheThirdResearchInstituteoftheMinistryofPublicSecurity基于视频结构化描述的视频语义分析系统★可描述车辆颜色、车型、品牌等,车型类......