[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] 题解的更多相关文章
- Google kickstart 2022 Round A题解
Speed Typing 题意概述 给出两个字符串I和P,问能否通过删除P中若干个字符得到I?如果能的话,需要删除字符的个数是多少? 数据规模 \[1≤|I|,|P|≤10^5 \] 双指针 设置两个 ...
- PKUSC 2022 口胡题解
\(PKUSC\ 2022\)口胡题解 为了更好的在考试中拿分,我准备学习基础日麻知识(为什么每年都考麻将 啊啊啊) 首先\(STO\)吉老师\(ORZ,\)真的学到了好多 观察标签发现,这套题覆盖知 ...
- 「JOI Open 2022」Giraffes 题解
设我们将要给出的观感好的排列为 \(q\),我们希望求出 \(\sum[p_i=q_i]\) 的最大值(这里指不移动的长颈鹿个数). 结论一:当且仅当左右端点有当前区间最大值或者最小值时条件才能成立. ...
- Solution Set - 杭电多校 2022 Day2 一句话题解
A:看了题就很容易想到虚树吧,建出虚树后考虑整体扫一遍虚树,注意到这是一棵根向树,那么统计其实十分简单,将对 \(C\) 类节点的标记下放,\(A,B\) 类节点同时上传,如果在 DFS 的过程中发现 ...
- [题解] Codeforces Dytechlab Cup 2022 1737 A B C D E 题解
傻*Dytechlab还我rating!(不过目前rating还没加上去,据说E是偷的说不定要unrated) 实在没预料到会打成这样... 求点赞 点我看题 A. Ela Sorting Books ...
- 「JOISC 2022 Day1」京都观光 题解
Solution 考虑从\((x_1,y_1)\)走到\((x_2,y_2)\)满足只改变一次方向,则容易求出先向南走当且仅当 \[\frac{a_{x_1} - a_{x_2}}{x_1 - x_2 ...
- 2022 icpc 沈阳站 记录(非题解)
赛前 大概是赛前三周才突然知道拥有了比赛机会. 赛前训练和vp频率很高,有一段时间cf上都是绿的.比赛的那一周只有一天没在vp,到了周六热身赛我人都有点麻木.(可能正赛也是类似的状态吧) 比赛的过程b ...
- 2022年5月5日模拟赛题解与总结(ABC237)
总结 初一第一,竞赛班第二 还可以,为了照顾提高班来的四个同学放了四个水题,可惜他们做的不是很理想,希望他们下次可以获得满意的成绩 这次做的其实是 AtCoder ABC237 A.Not Overf ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- LeetCode OJ 题解
博客搬至blog.csgrandeur.com,cnblogs不再更新. 新的题解会更新在新博客:http://blog.csgrandeur.com/2014/01/15/LeetCode-OJ-S ...
随机推荐
- Axure 辅助线--栅格化布局
全局辅助线 在所有页面都会显示,比如主页面是框架.子页面通过[内联框架]去加载,为了子页面的元件不偏移,可以创建创建全局辅助线 页面辅助线
- 网页“悼念模式”全站变灰/黑白色CSS代码
<style> html { filter:grayscale(100%); -webkit-filter:grayscale(100%); -moz-filter:grayscale(1 ...
- OpenFeign FormData
服务端接口代码如下: /** * 上传数据+实体信息 */ @RequestMapping("/upload") public String doctorAnalysis(Http ...
- 震惊!二狗子的火锅店被隔壁老王 DDoS 攻击了
近两年,游戏出海已经成为了出海热潮中的一员.在"后宅经济时代"的影响下,也得益于海外市场的互联网人口,游戏出海涨势非常迅猛.部分游戏在短时间内走红后,就会遭到了一些"有心 ...
- Go--Println、Printf区别
Println:打印字符串.变量: 同函数输出多项,之间存在空格 不同函数输出自动换行 Printf:打印需要格式化的字符串,可以输出字符串类型的变量:不可以输出整型变量和整型 同函数 ...
- 阿里云视频云人脸生成领域最新研究成果入选CVPR2022
CVPR(IEEE Conference on Computer Vision and Pattern Recognition)作为计算机视觉和模式识别领域的顶级会议,在全球具有极高的权威性.目前在中 ...
- Codeforces Round #721 (Div. 2) AB思维,B2博弈,C题map
补题链接:Here 1527A. And Then There Were K 题目大意: 给一个正整数n,求最大的k,使得 \(n \& (n−1) \& (n−2) \& ( ...
- Problem 330A - Cakeminator (思维)
330A. Cakeminator https://codeforces.com/problemset/problem/330/A 题意很容易理解:给定一块蛋糕区域,但蛋糕上有几个不能吃的草莓,大胃王 ...
- Codeforces Round #677 (Div. 3) (A - E题题)
1433A. Boring Apartments #include <bits/stdc++.h> using namespace std; int main() { int t; cin ...
- C++函数:std::tie 详解
在补CF周赛时发现dalao用了一个 tie函数和tuple类型,表示没怎么接触,现在稍微学习记录一下. tuple 即元组,可以理解为pair的扩展,可以用来将不同类型的元素存放在一起,常用于函数的 ...