题目

P9253 [PA 2022] Ornitolog 2

题目描述

给你一个长度为 \(n\) 的数列,求至少要修改多少个数才能让数列成为交替鹡鸰鸟鸣的音高序列。

思路

这道题有两种情况。

  • 第一种是当前的数比左右两边的数都要小。
  • 还有一种是当前的数比左右两边的数都要大。
 1     1	   1
\ / / \
0 0 0

所以我们用两个循环依次判断 \(n\) 为奇数和偶数的情况,每次比较当前数字左右两边的数字的大小就行了。

code

#include<bits/stdc++.h>
using namespace std;
int n,a[50005],b[50005];
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>b[i];
memcpy(a,b,sizeof(a));
int cnt=0;
for(int i=2;i<=n;i++)
if(i%2==1){if(a[i-1]<=a[i]) a[i]=-1000009,cnt++;}
else if(a[i-1]>=a[i]) a[i]=INT_MAX,cnt++;
memcpy(a,b,sizeof(a));
int cnt1=0;
for(int i=2;i<=n;i++)
if(i%2==0){if(a[i-1]<=a[i]) a[i]=-1000009,cnt1++;}
else if(a[i-1]>=a[i]) a[i]=INT_MAX,cnt1++;
cout<<min(cnt,cnt1)<<endl;
return 0;
}

[P9253 [PA 2022] Ornitolog 2] 题解的更多相关文章

  1. Google kickstart 2022 Round A题解

    Speed Typing 题意概述 给出两个字符串I和P,问能否通过删除P中若干个字符得到I?如果能的话,需要删除字符的个数是多少? 数据规模 \[1≤|I|,|P|≤10^5 \] 双指针 设置两个 ...

  2. PKUSC 2022 口胡题解

    \(PKUSC\ 2022\)口胡题解 为了更好的在考试中拿分,我准备学习基础日麻知识(为什么每年都考麻将 啊啊啊) 首先\(STO\)吉老师\(ORZ,\)真的学到了好多 观察标签发现,这套题覆盖知 ...

  3. 「JOI Open 2022」Giraffes 题解

    设我们将要给出的观感好的排列为 \(q\),我们希望求出 \(\sum[p_i=q_i]\) 的最大值(这里指不移动的长颈鹿个数). 结论一:当且仅当左右端点有当前区间最大值或者最小值时条件才能成立. ...

  4. Solution Set - 杭电多校 2022 Day2 一句话题解

    A:看了题就很容易想到虚树吧,建出虚树后考虑整体扫一遍虚树,注意到这是一棵根向树,那么统计其实十分简单,将对 \(C\) 类节点的标记下放,\(A,B\) 类节点同时上传,如果在 DFS 的过程中发现 ...

  5. [题解] Codeforces Dytechlab Cup 2022 1737 A B C D E 题解

    傻*Dytechlab还我rating!(不过目前rating还没加上去,据说E是偷的说不定要unrated) 实在没预料到会打成这样... 求点赞 点我看题 A. Ela Sorting Books ...

  6. 「JOISC 2022 Day1」京都观光 题解

    Solution 考虑从\((x_1,y_1)\)走到\((x_2,y_2)\)满足只改变一次方向,则容易求出先向南走当且仅当 \[\frac{a_{x_1} - a_{x_2}}{x_1 - x_2 ...

  7. 2022 icpc 沈阳站 记录(非题解)

    赛前 大概是赛前三周才突然知道拥有了比赛机会. 赛前训练和vp频率很高,有一段时间cf上都是绿的.比赛的那一周只有一天没在vp,到了周六热身赛我人都有点麻木.(可能正赛也是类似的状态吧) 比赛的过程b ...

  8. 2022年5月5日模拟赛题解与总结(ABC237)

    总结 初一第一,竞赛班第二 还可以,为了照顾提高班来的四个同学放了四个水题,可惜他们做的不是很理想,希望他们下次可以获得满意的成绩 这次做的其实是 AtCoder ABC237 A.Not Overf ...

  9. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  10. LeetCode OJ 题解

    博客搬至blog.csgrandeur.com,cnblogs不再更新. 新的题解会更新在新博客:http://blog.csgrandeur.com/2014/01/15/LeetCode-OJ-S ...

随机推荐

  1. Axure 辅助线--栅格化布局

    全局辅助线 在所有页面都会显示,比如主页面是框架.子页面通过[内联框架]去加载,为了子页面的元件不偏移,可以创建创建全局辅助线 页面辅助线

  2. 网页“悼念模式”全站变灰/黑白色CSS代码

    <style> html { filter:grayscale(100%); -webkit-filter:grayscale(100%); -moz-filter:grayscale(1 ...

  3. OpenFeign FormData

    服务端接口代码如下: /** * 上传数据+实体信息 */ @RequestMapping("/upload") public String doctorAnalysis(Http ...

  4. 震惊!二狗子的火锅店被隔壁老王 DDoS 攻击了

    近两年,游戏出海已经成为了出海热潮中的一员.在"后宅经济时代"的影响下,也得益于海外市场的互联网人口,游戏出海涨势非常迅猛.部分游戏在短时间内走红后,就会遭到了一些"有心 ...

  5. Go--Println、Printf区别

    Println:打印字符串.变量:    同函数输出多项,之间存在空格    不同函数输出自动换行 Printf:打印需要格式化的字符串,可以输出字符串类型的变量:不可以输出整型变量和整型   同函数 ...

  6. 阿里云视频云人脸生成领域最新研究成果入选CVPR2022

    CVPR(IEEE Conference on Computer Vision and Pattern Recognition)作为计算机视觉和模式识别领域的顶级会议,在全球具有极高的权威性.目前在中 ...

  7. Codeforces Round #721 (Div. 2) AB思维,B2博弈,C题map

    补题链接:Here 1527A. And Then There Were K 题目大意: 给一个正整数n,求最大的k,使得 \(n \& (n−1) \& (n−2) \& ( ...

  8. Problem 330A - Cakeminator (思维)

    330A. Cakeminator https://codeforces.com/problemset/problem/330/A 题意很容易理解:给定一块蛋糕区域,但蛋糕上有几个不能吃的草莓,大胃王 ...

  9. Codeforces Round #677 (Div. 3) (A - E题题)

    1433A. Boring Apartments #include <bits/stdc++.h> using namespace std; int main() { int t; cin ...

  10. C++函数:std::tie 详解

    在补CF周赛时发现dalao用了一个 tie函数和tuple类型,表示没怎么接触,现在稍微学习记录一下. tuple 即元组,可以理解为pair的扩展,可以用来将不同类型的元素存放在一起,常用于函数的 ...