题目:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5996

方法:

在大佬的指导下完成。

寻找峰值,找到一共k个峰值。

遍历:使a[0]=231,a[n+1]=231(0xfffffff),从第一个数开始,判断它的存在有多少个峰值 yu,它被去掉后有多少个峰值xz  (这时不是找出所有的峰值,而是看(a[i-1],a[i],a[i+1])这三个数中有几个是峰值就可以)。

q存储着上一次的yu-xz;也就是去掉上一个数可以减少多少个峰值,所以最终的p和q的最大值就是可以减少的最多的峰值。

原来的峰值个数-减少的峰值个数=结果。

#include<iostream>
#include<string>
using namespace std;
int a[];
int main()
{
int t;
cin >> t;
while (t--)
{
int n,k=,q=,p=; cin >> n;
a[n + ] = 0x7fffffff;
a[] = 0x7fffffff;
for (int i = ; i <= n; i++)
cin >> a[i];
for (int i = ; i < n; i++)
{
p = ;
int yl = , xz = ;
if (a[i] > a[i - ] && a[i] > a[i + ])
{
yl++;
k++;
}
if (a[i - ] > a[i] && a[i - ] > a[i - ])
{
yl++;
}
if (a[i + ] > a[i] && a[i + ] > a[i + ])
{
yl++;
}
if (a[i - ] > a[i+] && a[i - ] > a[i - ])
{
xz++;
}
if (a[i + ] > a[i-] && a[i + ] > a[i + ])
{
xz++;
}
p = yl - xz;
if (p > q)
q = p; }
cout << k - q << endl;;
} getchar();
getchar();
return ;
}

浙江省赛之Singing Everywhere的更多相关文章

  1. ZOJ 3879 Capture the Flag 15年浙江省赛K题

    每年省赛必有的一道模拟题,描述都是非常的长,题目都是蛮好写的... sigh... 比赛的时候没有写出这道题目 :( 题意:首先输入4个数,n,q,p,c代表有n个队伍,q个服务器,每支队伍的初始分数 ...

  2. The 13th Zhejiang Provincial Collegiate Contest(2016年浙江省赛)

      前4道水题就不说了,其中我做了C题,1Y,小心仔细写代码并且提交之前得确认无误后提交才能减少出错率. 结果后面2题都由波神做掉,学长带我们飞~ 终榜 官方题解   ZOJ 3946 Highway ...

  3. ZOJ 3872 Beauty of Array DP 15年浙江省赛D题

    也是一道比赛时候没有写出来的题目,队友想到了解法不过最后匆匆忙忙没有 A 掉 What a pity... 题意:定义Beauty数是一个序列里所有不相同的数的和,求一个序列所有字序列的Beauty和 ...

  4. (2017浙江省赛E)Seven Segment Display

    Seven Segment Display Time Limit: 2 Seconds      Memory Limit: 65536 KB A seven segment display, or ...

  5. 浙江省赛 C What Kind of Friends Are You?

    思路:一开始考虑n个朋友可以有c种可能,根据回答的问题,如果是yes那么可以确定一些朋友的范围,将原本不在这个范围内的删除即可:如果是"no",说明这些朋友都应该被删除,那么最后看 ...

  6. 2019浙江省赛B zoj4101 Element Swapping(推公式)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=6003 题意 \(数组a通过交换一对数字,得到了b数组,给出x=\sum^n_{ ...

  7. 2019浙江省赛K zoj4110 Strings in the Pocket(manachar)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=6012 题意 给你两个串,可以翻转a串的一个区间,问有多少对l,r使得翻转后的a ...

  8. 140 - The 12th Zhejiang Provincial Collegiate Programming Contest(浙江省赛2015)

      Ace of Aces Time Limit: 2 Seconds      Memory Limit: 65536 KB There is a mysterious organization c ...

  9. 浙江省赛 ZOJ4029

    Now Loading!!! Time Limit: Second Memory Limit: KB DreamGrid has integers . DreamGrid also has queri ...

随机推荐

  1. sql查询统计

    SELECT TOP 50 (select text from sys.dm_exec_sql_text(sql_handle)) as [SQL], CAST( ((qs.total_elapsed ...

  2. jmeter向ActiveMQ发送消息_广播/订阅(Topics 队列)

    问题描述:测试中需要模拟大量设备的消息上报到平台,但是实际测试中没有那么多设备,所以采取用jmeter直接往ActiveMQ模拟发送设备消息 解决思路:获取平台采取的是Queues还是Topics : ...

  3. 理解inode如何指向block

    一个inode编号如何实现,指向n多个block块的呢? 本质: 第一步:在CentOS系统中目录/tmp下 touch {01..12} 个文件: 然后mkdir block目录 第二步:cd切换到 ...

  4. How to setup Tensorflow inception-v3 model on Windows

    There is Inception-v3 model python implementation on GitHub at: https://github.com/tensorflow/models ...

  5. NLP一些工程应用模型

    发现一个DL的博客,对文章分类归纳做的比较好:第三篇文章中的模型可以重点参考 “自然语言学习资料的汇总” 综述 | 一文读懂自然语言处理NLP(附学习资料) 用深度学习(CNN RNN Attenti ...

  6. postgre索引

    1.创建一般索引 单字段索引: CREATE INDEX index_name ON table_name (field1); 联合索引: CREATE INDEX index_name ON tab ...

  7. Redis Sentinel实现高可用配置

    一般情况下yum安装redis的启动目录在:”/usr/sbin” :配置目录在”/etc/redis/”在其目录下会有默认的redis.conf和redis-sentinel.conf redis高 ...

  8. Android 开发 values目录里定义数组、颜色、文本、尺寸xml配置文件并且获取数据 附录Android符号转码表

    以下xml都在res/values/文件夹下创建 创建String类型array: /app/src/main/res/values/array.xml <?xml version=" ...

  9. chown nagios:nagios -R /var/lib/php/

    chown nagios:nagios -R /var/lib/php/

  10. QT与opencv(二)开启摄像头

    OpenCV中的VideoCapture不仅可以打开视频.usb摄像头,还可以做很多事,例如读取流媒体文件,网络摄像头,图像序列等. 下面我简单介绍一个在Qt中用VideoCapture类打开笔记本电 ...