HDU_3415_单调队列
http://acm.hdu.edu.cn/showproblem.php?pid=3415
初探单调队列,需要注意的是每次i维护的是i-1。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<deque>
#define INF 0x3f3f3f3f
using namespace std;
int a[],sum[];
deque<int> q;
int main()
{
int T,n,k;
scanf("%d",&T);
while(T--)
{
q.clear();
sum[] = ;
scanf("%d%d",&n,&k);
for(int i = ;i <= n;i++)
{
scanf("%d",&a[i]);
sum[i] = sum[i-]+a[i];
}
for(int i = ;i < n;i++) sum[i+n] = sum[i+n-]+a[i];
int ans = -INF,left,right;
int endd = *n;
for(int i = ;i < endd;i++)
{
while(!q.empty() && sum[i-] < sum[q.back()]) q.pop_back();
if(!q.empty() && q.front() < i-k) q.pop_front();
q.push_back(i-);
if(sum[i]-sum[q.front()] > ans)
{
ans = sum[i]-sum[q.front()];
left = q.front()+;
right = i;
}
}
if(right > n) right -= n;
printf("%d %d %d\n",ans,left,right);
}
return ;
}
HDU_3415_单调队列的更多相关文章
- BestCoder Round #89 B题---Fxx and game(单调队列)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945 问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路: B ...
- 单调队列 && 斜率优化dp 专题
首先得讲一下单调队列,顾名思义,单调队列就是队列中的每个元素具有单调性,如果是单调递增队列,那么每个元素都是单调递增的,反正,亦然. 那么如何对单调队列进行操作呢? 是这样的:对于单调队列而言,队首和 ...
- FZU 1914 单调队列
题目链接:http://acm.fzu.edu.cn/problem.php?pid=1914 题意: 给出一个数列,如果它的前i(1<=i<=n)项和都是正的,那么这个数列是正的,问这个 ...
- BZOJ 1047 二维单调队列
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1047 题意:见中文题面 思路:该题是求二维的子矩阵的最大值与最小值的差值尽量小.所以可以考 ...
- 【BZOJ3314】 [Usaco2013 Nov]Crowded Cows 单调队列
第一次写单调队列太垃圾... 左右各扫一遍即可. #include <iostream> #include <cstdio> #include <cstring> ...
- BZOJ1047: [HAOI2007]理想的正方形 [单调队列]
1047: [HAOI2007]理想的正方形 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2857 Solved: 1560[Submit][St ...
- hdu 3401 单调队列优化DP
Trade Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- 【转】单调队列优化DP
转自 : http://www.cnblogs.com/ka200812/archive/2012/07/11/2585950.html 单调队列是一种严格单调的队列,可以单调递增,也可以单调递减.队 ...
- hdu3530 单调队列
Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
随机推荐
- 基于Arduino的红外遥控
1.红外接收头介绍 一.什么是红外接收头? 红外遥控器发出的信号是一连串的二进制脉冲码.为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发射二极管 ...
- PS/2的相关知识
PS/2接口 很多微机上采用PS/2口来连接鼠标和键盘.PS/2接口与传统的键盘接口除了在接口外型.引脚有不同外,在数据传送格式上是相同的.现在很多主板用PS/2接口插座连接键盘,传统接口的键盘可以通 ...
- 简单快速破解IDEA
====================================2019.09.16更新==================================== 可以直接去掉第三步,直接在激活 ...
- ENS 域名注册表智能合约(ENSRegistry.sol)解析
ENS 注册表合约是 ENS 系统中的核心合约,了解这个合约可以敲开我们理解 ENS 域名系统的大门. 打开下面的折叠区域可以查看用 Solidity 语言编写的详细代码.当前部署在以太坊中的 ENS ...
- MySQL数据库用户、角色、授权
权限包括 insert delete update select all privileges 登录MySQL > mysql -uroot -p Enter password ...
- 【记】VM VirtualBox 网络地址转换(NAT)使用详解
1. 查看虚拟机Centos6的ip 但是这个IP地址并不能直接连接,因为本地VBox网络连接方式采用的是“网络地址转换(NAT)”(如上上图所示),也就是说 10.0.2.15 这地址是转换的. 2 ...
- PGSQL 日期时间的比较
pgsql支持日期时间的比较,但是需要注意的是,我们写sql的时候传入的参数一般是字符串类型,我们需要把把字符串转化为Date类型,否则会查不到内容. 例子: select * from user w ...
- (1)解锁 MongoDB replica set核心姿势
副本集Replica Set是一个术语,定义具有多节点的数据库集群,这些节点具有主从复制(master-slave replication) 且节点之间实现了自动故障转移. 这样的结构通常需要具有奇数 ...
- spark注册虚拟表和取消注册
// spark应用程序终止前有效df.createOrReplaceGlobalTempView("tempViewName") 取消注册:spark.catalog.dropT ...
- web网页设计五种布局
1.大框套小框布局 2.通栏布局 3.导航栏在主视觉下方的布局 4.左中右布局 5.环绕式布局