1 条题解

  • 0
    @ 2025-8-24 22:51:42

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar O_v_O
    replay

    搬运于2025-08-24 22:51:42,当前版本为作者最后更新于2023-11-01 15:27:05,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    水题。

    首先,我们要知道当 aia_iai+1a_{i+1} 被切在了一起,那么它们肯定就不会分开。

    那么,基于排列的性质,我们可以得出:当 aiai1>1|a_i-a_{i-1}|>1 时,它们必须分开。

    最终答案就为 aiai1>1|a_i-a_{i-1}|>1 的数量。

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    
    int n,a[1000005],ans;
    
    signed main(){
    	ios::sync_with_stdio(0);
    	cin.tie(nullptr);
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    		if(i==1) continue;
    		if(abs(a[i]-a[i-1])!=1) ans++;
    	}
    	cout<<ans;
    	return 0;
    }
    

    Upd in 23.11.5:修了一些代码。

    • 1

    信息

    ID
    9289
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者