题解 P1567 【统计天数】
天哪!竟然没人用优先队列!
小金羊又来水题了...
优先队列中的大根堆帮助我们把时间复杂度降到O(n+logn)
首先我们先了解一下大根堆...
大根堆的性质:根节点比子节点大,
这意味着最上面的节点的值是最大的。
在STL模板库里面的优先队列也就是大、小根堆,
有自我维护的功能,
利用这个性质,我们可以将其排序,
这个题要排的序是:不下降子序列的长度。
来吧,上代码:
#include <iostream>
#include <queue>
//是优先队列的STL库
using namespace std;
priority_queue<int>qwq;
这里打断一下,我要说明大小根堆的格式:(dalao请无视)
//默认(大根堆):
priority_queue<类型名>堆名;
//大根堆标准写法:
priority_queue<类型名,vector<类型名>,less<类型名> >堆名;
//小根堆标准写法:
priority_queue<类型名,vector<类型名>,greater<类型名> >堆名;
//类型支持pair<a,b>的类型(先比较a,后比较b),
//支持string类型字典序排列。
//注:两个>不能连起来,">>"是右移符!
继续:(主函数)
int main()
{
int n,input,former,count=1;
cin>>n;
cin>>former;
for (int i=1;i<n;i++)
{
cin>>input;
if (input>former){count++;former=input;}
//不下降,就count++,更新原先的值former
else{qwq.push(count);former=input;count=1;}
//下降了,count恢复初始值1,也要更新
}
qwq.push(count);//防止只有一天的毒瘤数据
cout<<qwq.top();//输出最长的天数
return 0;
}
秒杀枚举、暴力、数组等...
题解 P1567 【统计天数】的更多相关文章
- 【洛谷】P1567 统计天数
P1567 统计天数 题目背景 统计天数 题目描述 炎热的夏日,KC非常的不爽.他宁可忍受北极的寒冷,也不愿忍受厦门的夏天.最近,他开始研究天气的变化.他希望用研究的结果预测未来的天气. 经历千辛万苦 ...
- P1567 统计天数
题目背景 统计天数 题目描述 炎热的夏日,KC非常的不爽.他宁可忍受北极的寒冷,也不愿忍受厦门的夏天.最近,他开始研究天气的变化.他希望用研究的结果预测未来的天气. 经历千辛万苦,他收集了连续N(1& ...
- 洛谷 P1567 统计天数
题目背景 统计天数 题目描述 炎热的夏日,KC非常的不爽.他宁可忍受北极的寒冷,也不愿忍受厦门的夏天.最近,他开始研究天气的变化.他希望用研究的结果预测未来的天气. 经历千辛万苦,他收集了连续N(1& ...
- 洛谷P1567 统计天数
题目背景 统计天数 题目描述 炎热的夏日,KC非常的不爽.他宁可忍受北极的寒冷,也不愿忍受厦门的夏天.最近,他开始研究天气的变化.他希望用研究的结果预测未来的天气. 经历千辛万苦,他收集了连续N(1& ...
- 洛谷 P1567 统计天数【最长上升子序列/断则归一】
题目背景 统计天数 题目描述 炎热的夏日,KC非常的不爽.他宁可忍受北极的寒冷,也不愿忍受厦门的夏天.最近,他开始研究天气的变化.他希望用研究的结果预测未来的天气. 经历千辛万苦,他收集了连续N(1& ...
- Java实现 洛谷 P1567 统计天数
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...
- 洛谷P3412 仓鼠找$Sugar\ II$题解(期望+统计论?)
洛谷P3412 仓鼠找\(Sugar\ II\)题解(期望+统计论?) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327573 原题链接:洛谷P3412 ...
- LintCode题解之统计数字
直接硬搜就可以了,只是需要考虑k为0的情况. public class Solution { /* * @param : An integer * @param : An integer * @ret ...
- 题解 P1420 【最长连号】
这个题过去的同学可以再来一题(P1567 统计天数): https://www.luogu.org/problemnew/show/P1567 是的,这个题其实也不是很难,就是前后比较,将天数压栈, ...
随机推荐
- Windows下python环境的安装
1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右键计算机]-->[属性]-->[高 ...
- Pandas v0.23.4手册汉化
Pandas手册汉化 此页面概述了所有公共pandas对象,函数和方法.pandas.*命名空间中公开的所有类和函数都是公共的. 一些子包是公共的,其中包括pandas.errors, pandas. ...
- JavaScript查找元素的方法
1.根据id获取元素 document.getElementById("id属性的值"); 2.根据标签名字获取元素 document.getElementsByTagName(& ...
- Mysql基础操作语句
SQL 简单的增删改查 不区分大小写, 表名和字段名可不加引号 查询语句 SELECT * FROM `table_name`; -- 注释 CTRL+/ : 注释 CTRL+/ : 取消注释 /* ...
- 785. Is Graph Bipartite?
Given an undirected graph, return true if and only if it is bipartite. Recall that a graph is bipart ...
- 240. 搜索二维矩阵 II
二维数组搜索 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示例: 现有矩阵 ...
- 利用Tensorflow进行自然语言处理(NLP)系列之二高级Word2Vec
本篇也同步笔者另一博客上(https://blog.csdn.net/qq_37608890/article/details/81530542) 一.概述 在上一篇中,我们介绍了Word2Vec即词向 ...
- 算法笔记(c++)--使用一个辅助栈排列另一个栈
算法笔记(c++)--使用一个辅助栈排列另一个栈 仅仅使用一个辅助栈,不使用其他数据结构来排列一个栈,要求,上大下小. 分析下.肯定是先吧主栈中的数据都放到辅助栈中,在辅助栈中上小下大. 1.首先循环 ...
- asp之GetArray提取链接地址,以$Array$分隔的代码
'================================================== '函数名:GetArray '作 用:提取链接地址,以$Array$分隔 '参 数:ConStr ...
- ES6的新特性(12)——Set 和 Map 数据结构
Set 和 Map 数据结构 Set 基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. co ...