https://ac.nowcoder.com/acm/contest/12482/F


和cf那题不用在于这个两个人都是往下坡走的。

于是多了一个M和N的特判。同样是一个八字形,但是注意可能还有存在多个V,所以模拟的时候记录一下单个八字形的峰,然后判i-(Max*2-1)

#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+1000;
typedef long long LL;
inline LL read(){LL x=0,f=1;char ch=getchar();   while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
return x*f;}
LL a[maxn],l[maxn],r[maxn];
int main(void)
{cin.tie(0);std::ios::sync_with_stdio(false);LL n;cin>>n;for(LL i=1;i<=n;i++) cin>>a[i];a[0]=a[n+1]=0;for(LL i=1;i<=n;i++){if(a[i-1]<a[i]) l[i]=l[i-1]+1;else l[i]=1;}for(LL i=n;i>=1;i--){if(a[i]>a[i+1]) r[i]=r[i+1]+1;else r[i]=1;}LL Max=0;for(LL i=1;i<=n;i++){Max=max(Max,max(l[i],r[i]));}LL flag=0;///只有相同长度的单个完整峰满足LL pos=0;for(LL i=1;i<=n;i++){if(l[i]==Max&&r[i]==Max) flag++,pos=i;}if(flag!=1){cout<<"0"<<"\n";return 0;}///  /\///N,W---check只有单个峰,Note VLL n1=0;LL w=0;LL v=0;///只有V还可能有多个bool ok=1;for(LL i=1;i<=n;i++){if(l[i]==Max&&r[i]!=Max){if(i-(Max-1)*2!=pos){ok=0;break;}if(r[i]==Max&&l[i]!=Max){if(i+(Max-1)*2!=pos){ok=0;break;}}}}if(ok) cout<<"1"<<"\n";else cout<<"0"<<"\n";
return 0;
}

wzc提醒大家仔细读题真的非常重要!(思维+波峰波谷+细节)相关推荐

  1. 【每日一题】排序子序列(波峰波谷问题)

    [每日一题]排序子序列(波峰波谷问题) 文章目录 [每日一题]排序子序列(波峰波谷问题) 1.题目来源 2.题目描述 3.输入/出描述 4.示例 5.解题思路 5.1 非递增非递减序列 5.2 访问边 ...

  2. HDU 2152 选课时间(题目已修改,注意读题) (母函数)

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  3. HDU-2079 选课时间(题目已修改,注意读题) -母函数

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. Codeforces 61B【怪在读题】

    搞不懂为什么DFS的写法崩了,然后乱暴力,因为题意不是很懂... 主要还是读题吧(很烦 #include <bits/stdc++.h> using namespace std; type ...

  5. Codeforces 659B Qualifying Contest【模拟,读题】

    写这道题题解的目的就是纪念一下半个小时才读懂题...英文一多读一读就溜号... 读题时还时要静下心来... 题目链接: http://codeforces.com/contest/659/proble ...

  6. 【转载】Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?

    [转载]Android提醒微技巧,你真的了解Dialog.Toast和Snackbar吗? 转载请注明出处:http://blog.csdn.net/guolin_blog/article/detai ...

  7. [英语六级] 六级通关笔记 — 仔细阅读题

    前言 英语既是一门语言,也是一种文化,它反应出了一个国家的历史.学了近20年的英语,为什么始终没有质的提高,因为你仅仅把它当成了一次考试去对待.转变观点才是学习这门语言的基础. 1.解题原则 &quo ...

  8. 跳一跳 微信小程序中的跳一跳相信大家都玩过。emmm???只学习不玩游戏?那就吃亏了...好好读题理解吧 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游

    3 跳一跳 微信小程序中的跳一跳相信大家都玩过.emmm???只学习不玩游戏?那就吃亏了-好好读题理解吧. 简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束 ...

  9. Ivan the Fool and the Probability Theory-Codeforces Round #594 (Div. 2)-C题(dp+思维)

    Ivan the Fool and the Probability Theory-Codeforces Round #594 (Div. 2)-C题(dp+思维) time limit per tes ...

最新文章

  1. Apache Hudi的写时复制和读时合并
  2. 数据分析行业需要具备哪些技术 如何快速进入
  3. Scala apply()方法用于创建伴生类对象
  4. Middle of the Contest
  5. 百一测评java基础答案_百一测评——《Web应用开发》选择题(含参考答案)—JavaEE基础...
  6. android用户界面-菜单
  7. primefaces_使用Bean验证扩展PrimeFaces CSV
  8. 面试:String 常量池
  9. 最大团问题-分支限界
  10. java质因数的分解_Java实现分解任意输入数的质因数算法示例
  11. python之路 -- 并发编程之线程
  12. v4l2-ctl基本使用方法
  13. java api管理工具_api 接口管理工具
  14. R语言和RStudio开发环境的下载与安装
  15. #Cprove7-9 函数应用
  16. 免费OFD文件在线转PDF
  17. 荣耀play4t手机怎么样 荣耀play4tpro手机怎么样
  18. Java学习路线以及方法推荐
  19. linux 格式化 sda,linux – 如何将/ dev / sda挂载并格式化为不同的/ dev / name?
  20. 说说微信红包算法,为什么你总是抢的那么少?

热门文章

  1. pix4d无人机影像处理_pix4dmapper-pix4dmapper(无人机数据和航空影像处理)3.2.23官方版下载 - 华彩软件站...
  2. 高校竞赛排行榜---大学生能参加哪些比赛你都知道吗? (适合各个专业)了解 还是 错过 ?
  3. [SSD固态硬盘技术 6] DRAM缓存技术详解
  4. CorelDRAW多个文件如何批量导出JPG
  5. 成考高起专计算机统考试题,2018年成人高考高起专英语考试试题及答案
  6. Ubuntu上安装CERN开发的ROOT软件
  7. 使用强化学习建立下一个最佳活动(或称行动营销)模型【译文初稿】
  8. Linux系统学习第四章:文件压缩、打包与备份(二)备份与还原
  9. Android第三方开源下拉框:NiceSpinner
  10. console连接h3c s5500_H3C设备通过Console口登录设备的配置方法介绍