杭电多校第三次 Problem A. Ascending Rating(单调队列)
【题意】
给你一个长为n的数组a
让你对于每个长度为m的窗口。
算出其中的最大值以及从左往右遍历的时候这个最大值更新的次数。
【题解】
单调队列。
从后往前滑动窗口。
会发现我们维护以这个窗口里面的值为元素的单调队列的时候。
这个单调队列的长度就是最大值更新的次数。
因为我们把a[i]加入队列的时候。
队列尾巴上,小于等于这个a[i]的元素都会被删掉.
每个都这么做的话。
队列里面的元素就和更新时候的元素对应。
最大值就是队列的头部。
#include<bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
#define pii pair<ll,ll>
using namespace std;
const int maxn=10000005;
ll nex[maxn],a[maxn],qq[maxn],t;
ll p,q,r,mo,ans,cnt,j,ctt,n,m,k,i,ma,ct,kk;
int main()
{ll T;scanf("%lld",&T);while(T--){i=1;scanf("%lld%lld%lld%lld%lld%lld%lld",&n,&m,&k,&p,&q,&r,&mo);while(i<=n){if(i<=k) scanf("%lld",&a[i]);else a[i]=(p*a[i-1]+q*i+r)%mo;i++;}ans=cnt=0;for(ll h=1,t=0,i=n;i;i--){while(h<=t&&a[qq[t]]<=a[i]) t--;qq[++t]=i;if(i<=n-m+1){while(qq[h]>=i+m) h++;ans+=(i^a[qq[h]]);cnt+=(i^(t-h+1));}}printf("%lld %lld\n",ans,cnt);}return 0;
}
转载于:https://www.cnblogs.com/ffgcc/p/10546365.html
杭电多校第三次 Problem A. Ascending Rating(单调队列)相关推荐
- 2017 杭电多校联赛第二场 1003 Maximum Sequence(单调队列)HDU 6047
Maximum Sequence Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 2022杭电多校(三)
2022杭电多校(三) 文章目录 2022杭电多校(三) 一.比赛小结 二.题目分析及解法(基础题) 1001.Equipment Upgrade 1002.Boss Rush 1003.Cyber ...
- 2019.7.29 杭电多校第三场小结
index > 杭电多校第三场 题号 标题 AC 做法 状态 6603 Azshara's deep sea (51/150)34.00% 6604 Blow up the city (213/ ...
- 2019杭电多校第三场 6608 Fansblog(威尔逊定理+miller_rabin素性测试)
Problem Description 传送门 Farmer John keeps a website called 'FansBlog' .Everyday , there are many peo ...
- 杭电多校第三场-H-Game
题目描述 Again Alice and Bob is playing a game with stones. There are N piles of stones labelled from 1 ...
- 杭电多校(三)2019.7.29--暑假集训
[HDU 6003] UNSOLVED [HDU 6004] SOLVED [题目大意]有一DAG图,n个节点,m次询问,每次询问两个节点,求令两个节点任意一个和叶节点失去联通的方法数 [思路]支配树 ...
- 2022杭电多校(十)
2022杭电多校(十) 文章目录 2022杭电多校(十) 一.比赛小结 二.题目分析及解法(基础题) 1001.Winner Prediction 1003.Wavy Tree 1004.Averag ...
- 2022杭电多校(九)
2022杭电多校(九) 文章目录 2022杭电多校(九) 一.比赛小结 二.题目分析及解法(基础题) 1001.Arithmetic Subsequence 1003.Fast Bubble Sort ...
- 2022杭电多校(二)
2022杭电多校(二) 文章目录 2022杭电多校(二) 一.比赛小结 二.题目分析及解法(基础题) 1001.Static Query on Tree 1002.C++ to Python 1003 ...
- 2022杭电多校(四)
2022杭电多校(四) 文章目录 2022杭电多校(四) 一.比赛小结 二.题目分析及解法(基础题) 1001.Link with Bracket Sequence II 1002.Link with ...
最新文章
- G1回收器:我怎么知道你是什么时候的垃圾?
- Javascript 严格模式详解
- Python 的闭包和装饰器
- java中queue排序_Java中常见的排序算法有哪些?---选择排序
- Altium Designer -- 查看板子厚度
- SpringBoot集成多数据源
- ASRT:一个中文语音识别系统
- Apache Kafka简介与安装(一)
- Canal部署linux mysql同步数据
- 【论文笔记】MOBA类游戏中的强化学习论文5篇
- 学生健康管理软件/中小学体检数据管理系统
- Nginx网络压缩 CSS压缩 图片压缩 JSON压缩
- 如何去掉图片上的文字?
- matlab里用多边形裁剪图片,多边形裁剪图片与自定义 Gizmo Cocos Creator
- 解读联想重组:终于裁员了
- 以什么样的模式和方式来解决问题或创造价值?
- [老文档2016]一种后台管理智能杀进程的规则与方法
- Java中BIO,NIO,AIO
- 与或非门——python逻辑电路
- 第四篇:coalesce 和repartition 在shuffle 和并行度之间的选择(spark2.3持续更新中...........)
热门文章
- eclipse中出现代码覆盖的颜色信息,如何去掉
- VS编译NPAPI:jref类型出错
- 想起“不能什么都是你来干”
- 假疫苗事件,错在企业,责任在管理部门
- /usr/bin/env: escript: No such file or directory的解决办法
- Unknown run configuration type AndroidRunConfigurationType的解决办法
- 解决Android Studio不停的Indexing的问题
- 分析sql字段_全面解析一条SQL语句执行得很慢的原因有哪些
- WebGL入门教程一:基本概念和使用说明
- pycharm2017自建注册服务器