2021CCPC广州站C. Necklace

技术2021CCPC广州站C. Necklace 2021CCPC广州站C. Necklace题目:C. Necklace
题意:
https://codeforces.com/gym/103415/p

2021CCPC广州站c .项链

题目:C. Necklace

题意:

https://codeforces.com/gym/103415/problem/C

?长度为n的项链上有m颗珠子,每颗珠子分成一段,最长一段的最小长度被要求。

思路:二分+贪心

?每张支票贪婪地从第一个位置开始,所以开始时的最大偏移量为:n-a[m] a[1]-1,mi代表当前起始位置的最大偏移量,每个区间mi都要取最小值,否则初始位置偏移量会超过他的区间,cnt记录初始起始位置的最大向前偏移量。

代码:

#包含位/stdc。h

使用命名空间标准;

typedef long long ll

#定义整数长

const int mod=998244353

const int N=1e6 10

# define GC()(is==itit=(is=in)fread(in,1,Q,stdin),(is==itEOF:*is ):*is)

const int Q=(124)1;

char in[Q],*is=in,*it=in,c;

int n,m;

无效读取(long long n){ 0

for(n=0;(c=GC())“0”| | c“9”;);

for(;c=' 9 ' c=' 0c=GC())n=n * 10 c-48;

}

int a[N];

bool check(int x){ 0

int mi=n-a[m]a[1]-1;//当前起始位置的最大偏移量

int mm=mi

int now=0;//用于记录上一段需要下一段补充的大小。

int CNT=0;//记录初始起始位置的总最大向前偏移。

for(int I=1;im;I){ 0

int xx=x-now;//x-减去要分配给前一部分的值表示可以分配给当前时间间隔的值。

int cha=a[I 1]-a[I];//当前段的大小

如果(xx=0)返回false//如果不能分配到下一个区间,就是违法的。

if(chaxx){ 0

now=a[I 1]-(a[I]xx);

mi=min(mi,xx-1);

}

else{

now=0;

int m1=min(mi,xx-cha);

cnt=m1

mi=min(mi-m1,cha-1);

}

}

int ans=now mm 1-x;//当前段需要增加多少个前一段-x=当前段需要划分多少个偏移量。

if(x-now=mm 1||cnt=ans)返回true//可以给最后一个区间的值大于最后一个区间的大小或者可以移位的总量=仍然需要移位的量。

返回false

}

签名main(){ 0

IOs :3360 sync _ with _ stdio(false);

CIN . tie(0);cout . tie(0);

读(n),读(m);

for(int I=1;I=m;I){ 0

读作(a[I]);

}

int l=1,r=n;

while(lr){ 0

int mid=(l r)1;

if(check(mid))r=mid;

否则l=mid 1;

}

printf('%lld\n ',l);

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107449.html

(0)

相关推荐

  • 如何使用纯java config来配置spring mvc方式

    技术如何使用纯java config来配置spring mvc方式这篇文章将为大家详细讲解有关如何使用纯java config来配置spring mvc方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这

    攻略 2021年11月29日
  • 为什么要使用数据库连接池及其好处是什么

    技术为什么要使用数据库连接池及其好处是什么为什么要使用数据库连接池及其好处是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对于一个简单的

    攻略 2021年12月2日
  • 电脑插上耳机还是外放怎么解决,为什么电脑插上耳机还有外放呢

    技术电脑插上耳机还是外放怎么解决,为什么电脑插上耳机还有外放呢你打开任务管理器电脑插上耳机还是外放怎么解决,选择“进程”选项卡看看有没有RTHDCPL.exe这个进程。这个是声卡的管理程序。如果它没有正常启动,则会出现插

    生活 2021年10月31日
  • 科颜氏白泥面膜用法,如何正确使用清洁面膜呢

    技术科颜氏白泥面膜用法,如何正确使用清洁面膜呢如何正确使用清洁面膜我个人认为皮肤清洁非常重要。今天科颜氏白泥面膜用法,我将讨论平时清洁面膜的日常使用。步骤:清洁后,涂上薄薄一层。沉重的房屋T区域和下巴可以略微加厚。此步骤

    生活 2021年10月19日
  • switchvrglass(switchglass系统)

    技术SwitchGlass for Mac是什么小编给大家分享一下SwitchGlass for Mac是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起

    攻略 2021年12月18日
  • 变脸是什么剧,究竟什么样的脸才称得上剧抛脸

    技术变脸是什么剧,究竟什么样的脸才称得上剧抛脸我觉得剧抛脸可以提名任嘉伦变脸是什么剧。所谓的剧抛脸就是同一个演员,他在演任何一部戏的时候没有他本人的影子。也没有他上一部作品的影子,演的就是这部作品中的角色。每演一部作品不

    生活 2021年10月29日