/*单调队列:单调队列即保持队列中的元素单调递增(或递减)的这样一个队列,可以从两头删除,只能从队尾插入.
队首为最优解,插入时从队尾插入。为了保证队列的单调性,我们从队尾开始删除元素,直到队尾元素比当前需要插入的元素优
因为它们已经不可能成为最优的元素了,因为当前要插入的元素位置比它们更优,值比它们更优*/
//长度不超过k的最大连续子序列
#include<cstdio>
#include<algorithm>
using namespace std;
const int MAXN=100007;
int sum[MAXN];
int queue[MAXN];
int main()
{
int T,id=0;
scanf("%d",&T);
while(T--)
{
int n,k,i,j,ans;
scanf("%d%d",&n,&k);
scanf("%d",sum+1);
ans = sum[1] ;
int fre=0,rea=0;
queue[rea++] = 1;
for(i=2;i<=n;i++)
{
scanf("%d",sum+i);
while(i-queue[fre] >= k)
{
fre ++;
}
for(j=fre;j<rea;j++)
{
sum[ queue[j] ] += sum[i];
}
while(rea>fre && sum[ queue[rea-1] ] <= sum[i])
{
rea --;
}
queue[rea++] = i;
ans = max(ans , sum[ queue[fre] ]);
}
printf("Case #%d: %d\n",++id,ans);
}
return 0;
}
相关推荐
ESP-IDF下载配合MQTT协议接入云平台实例
通过ESP-IDF下载环境搭建,结合MQTT协议实现设备与云平台通信,详解从配置到连接的完整流程,助力物联网应用开发。重点涵盖espidf下载和MQTT集成关键步骤。
HDU 3415 Max Sum of Max-K-sub-sequence(长度不超过k的最大连续子序列和,单调队列)
题目链接: HDU 3415 Max Sum of Max-K-sub-sequence 题意: 给nn个数,首尾相连,求长度不超过kk的最大连续子序列和。 数据范围:1≤n≤100000,1≤k≤n1\leq n\leq100000 , 1\leq k\leq n 分析: 因为考虑首尾相连,所以我们把nn个数看成2∗n2*n个数,其中data[n+]=data[i]data[n+]=
小土堆学习笔记1:Dataset类代码实践
上一页中反复提到“类”,这究竟是什么东西?按我的理解(肯定不准确也不正式),class类就是某一个东西的共性,而且是等待被确认的共性。比如每台手机都有它自己的品牌、框架、价格等等属性,class类正是这些尚不确定的属性;而一旦确认了这些属性,就能够确认这到底是一台什么型号什么状态的手机,在确认了全部属性后就知道,这是一台Apple 16 Pro Max。抽象的不确定的共性就是类,具体的确定的个性就是示例。这个共性可以被用于多个编程目的,只不过某一个具体的编程行为还有它自己的独特性。
累加值为k的最长子数组,累加值不大于k的最长子数组
问题描述1:给定一个数组,值全部是正数,请返回累加值为给定值 k 的最长子数组的长度。 问题描述2:给定一个数组,值可以为正数负数和0,请返回累加值为给定值 k 的最长子数组长度。 问题描述3:给定一个数组,值可以为正数负数和0,请返回累加值不大于给定值 k 的最长子数组长度。
EtherCAT简介
EtherCAT(EtherNet Control Automation Technology)是由德国公司BECKHOFF公司于2003年提出的实时工业以太网技术。其具有高速、高数据有效率的特点,支持多种设备的连接拓扑结构。从站节点使用专用的控制芯片,例如:microchip公司的Lan9252、BECKHOFF公司的ET1100等ESC(EtherCAT slave controller)芯片。主站的搭建方式有很多,例如:开源主站IGH、SOEM、商业化主站TwinCAT等。
IDEA 2023.2最新破解安装教程(含详细配置步骤及常见问题解决)
本文详细介绍了IDEA 2023.2的安装流程及高效开发环境搭建指南,涵盖基础配置、项目结构优化、核心功能使用、插件推荐、性能优化等全方位内容,帮助开发者快速掌握这一强大的Java开发工具。
【hdu3415】【单调队列 】Max Sum of Max-K-sub-sequence【求长度不大于k的区间最大子串和】
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3415 题意:给出一个有N个数字(N 思路: 因为序列是环状的,所以可以在序列后面复制前k-1个数字。 如果用s[i]来表示复制过后的序列的前i个数的和,那么任意一个子序列[i..j]的和就等于s[j]-s[i-1]。 对于每一个j,用s[j]减去最小的一个s[i](i>=j-k)就可以得
C#上位机性能优化全攻略:彻底解决界面卡顿+多线程死锁+PLC数据延迟,产线实测稳定运行2年
一开始我们用的是网上找的零散优化代码,根本满足不了要求,后来花了2个月的时间,把之前27条产线的代码整理、重构、优化,做了一套这套方案上线后,连续稳定运行2年零3个月:界面响应时间稳定在50ms以内,多线程死锁率持续为0,PLC数据延迟稳定在150ms以内,系统可用率≥99.99%,帮客户一年省下了超过480万的停线损失、罚款损失和人工成本,客户第二年就把剩下的22条产线也全部交给我们做了,还介绍了3家同行。
单调队列(数列中长度不超过k的子序列和的最值)
★实验任务 小 F 很爱打怪,今天因为系统 bug,他提前得知了 n 只怪的出现顺序以及击 倒每只怪得到的成就值 ai。设第一只怪出现的时间为第 1 秒,这个游戏每过 1 秒 钟出现一只新怪且没被击倒的旧怪消失。小 F 决定发动一次技能,他的技能最多 维持 k 秒,他希望获得最大的成就值,请你帮他计算他发动技能的时间 l 和技能 结束时间 r(r-l+1<=k)。当存在多种方案使得成就值最大...
基于STM32L4XX、HAL库的DP83822 以太网收发器(PHY)驱动程序设计
一、简介:DP83822是德州仪器(TI)推出的一款低功耗、高性能10/100Mbps以太网物理层收发器(PHY)。它具有以下主要特性:支持10BASE-T和100BASE-TX以太网标准低功耗设计,适合嵌入式应用MII/RMII接口,方便与微控制器连接内置自检和诊断功能支持自动协商和手动配置工业级温度范围(-40°C至+85°C)
[RK3568 Android12] 添加自定义启动脚本
1:定义添加的脚本 2:rk3568_s.mk 中定义打包 3:在启动脚本中init.rk356x.rc添加权限及何时启动 4:添加权限文件file_contexts 5:系统确认是否运行
N个数,求小于K的最大子序列之和
曾几何时,姐姐我一看到这样的题目就倍感头痛。然而,昨日受到启发,忽然想起了模仿二级制可以表示穷举法。兴奋得彻夜难眠,一早就爬起来,实现了该代码。 具体分析如下: 首先,题目有两个判断因素:小于N,最大。 我想到了一个做笨的方法,将N个数所有可能的子序列相加,看看每个之和是否小于k,如果满足这个条件,就放入result中。接下来,每次循环,得到的和都跟result进行比较。只要它小于k并且大于...
遇到一个诡异的WiFi网络问题:同一个办公室苹果电脑上不了网,其他电脑都可以
先来把问题掰开揉碎地看清楚:在一个普通的办公室WiFi网络中,所有设备——Windows电脑、安卓手机、甚至是那台老旧的Linux服务器——都能正常联网,唯独苹果电脑(可能是MacBook、iMac或者Mac mini)像被下了魔咒一样,连不上网。这种情况不仅让人抓狂,还透着一股神秘感。为什么偏偏是苹果电脑?难道WiFi路由器对苹果有“偏见”?这些症状都指向一个核心问题:苹果电脑与办公室WiFi之间,似乎存在某种“沟通障碍”。但这障碍到底出在哪里呢?是苹果电脑自己的问题,还是网络设置在“针对”它?
BIT 1011 Maximum Sum II
题目大意:给出n(n 考察点:单调队列 思路分析:要求长度不超过k的最大连续子序列和,就是求max(s[j]-s[i]),j-i>k,也就是对于每个j,我们要找出最小的i,进而求出在j之前最大的和。那么如何找i呢,就需要用单调队列了。 单调队列即保持队列中的元素单调递增(或递减)的这样一个队列,可以从两头删除,只能从队尾插入。单调队列的具体作用在于,由于保持队列中的元素满足单调性
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
hdu 3415 Max Sum of Max-K-sub-sequence(单调队列)
Max Sum of Max-K-sub-sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5385 Accepted Submission(s): 1952 Problem Description
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
hdu 3415"Max Sum of Max-K-sub-sequence"(单调队列)
传送门 题意: 给出一个有 N 个数字([-1000 , 1000],N ≤ 105)的环状序列; 让你求一个和最大的连续子序列,并记录起始点。 要求这个连续子序列的长度小于等于K,加和相同的不同区间,输出起点最小的那组答案。 题解: 因为序列是环状的,所以可以在序列后面复制一段(或者复制前k - 1个数字)。 如果用sum[ i ]来表示复制过后的序列的前...
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
HDU 3415 Max Sum of Max-K-sub-sequence 单调队列
Given a circle sequence A[1],A[2],A[3]......A[n]. Circle sequence means the left neighbour of A[1] is A[n] , and the right neighbour of A[n] is A[1]. Now your job is to calculate the max sum of a Max...
连续子序列的最大和 HDU3415
Max Sum of Max-K-sub-sequence Given a circle sequence A[1],A[2],A[3]......A[n]. Circle sequence means the left neighbour of A[1] is A[n] , and the right neighbour o...
Max Sum of Max-K-sub-sequence HDU - 3415 (单调队列 好题)
题意: 给定n长度的序列, 求其中连续且长度不超过k的子序列的最大和 题解: 很常见的一类题, 和这道题非常类似, 一个是求子序列最大长度, 一个是求子序列最大和, 下面来说一下这道题 首先运用一个预处理的思想, 定义sum[i] = ∑1isi\sum_1^is_i∑1isi 如此一来, maxK[i, j] = sum[j] - min{sum[i] | 1&lt;=i&lt;j}, 也...
HDU 3415 Max Sum of Max-K-sub-sequence (单调队列)
Max Sum of Max-K-sub-sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4573 Accepted Submission(s): 1653 Problem Description Give...
hdu3415Max Sum of Max-K-sub-sequence(单调队列)
->题目请戳这里 题目大意:给n个数,这n个数首尾相连。求一个长度为不超过k的连续子序列最大和。并求出起始和终止位置。 题目分析:求某段连续区间和的最大值,单调队列解决。具体做法是:先求出sum[1]到sum[n],我们考虑第i个数,用一个单调队列维护sum[i - k]到sum[i - 1]的最小值,设这个最小值是sum[j],那么sum[i] - sum[j]就是j到i的这个区间的最大连续
HDU 3415 Max Sum of Max-K-sub-sequence(单调队列)
题目链接:Click here~~ 前几天学的单调队列,然后找题目练习,看这道题两天了,终于想通了。 题意: 给你一个循环序列{An},让你找出长度不大于K的连续子序列,使这个子序列和最大。 解题思路: 由于子序列连续,所以和上道题目一样,它的和可以通过两个前缀和作差得到。(即sum[i~j]=sum[j]-sum[i-1](j-i+1 而对于同一个序列终点来说,起点左边那个元
[HDU 3415] Max Sum of Max-K-sub-sequence
Max Sum of Max-K-sub-sequence Problem Description Given a circle sequence A[1],A[2],A[3]......A[n]. Circle sequence means the left neighbour of A[1] is A[n] , and the right neighbour of A[n] is A[...
【Week13作业 E】TT的神秘任务3【单调队列优化dp】
题意: TT 猫咖的生意越来越红火,人越来越多,也越来越拥挤。 为了解决这个问题,TT 决定扩大营业规模,但猫从哪里来呢? TT 第一时间想到了神秘人,想要再次通过完成任务的方式获得猫咪。 而这一次,神秘人决定加大难度。 给定一个环,A[1], A[2], A[3], … , A[n],其中 A[1] 的左边是 A[n]。要求从环上找出一段长度不超过 K 的连续序列,使其和最大。 这一次,TT 陷入了沉思,他需要你们的帮助。 第一行一个整数 T,表示数据组数,不超过 100。 每组数据第一行给定两个整数 N
单调队列优化dp TT的神秘任务三
题意: TT 猫咖的生意越来越红火,人越来越多,也越来越拥挤。 为了解决这个问题,TT 决定扩大营业规模,但猫从哪里来呢? TT 第一时间想到了神秘人,想要再次通过完成任务的方式获得猫咪。 而这一次,神秘人决定加大难度。 给定一个环,A[1], A[2], A[3], … , A[n],其中 A[1] 的左边是 A[n]。要求从环上找出一段长度不超过 K 的连续序列,使其和最大。 这一次,TT 陷入了沉思,他需要你们的帮助。 Input 第一行一个整数 T,表示数据组数,不超过 100。 每组数据第一行给定
环上取数【动态规划dp】【单调队列优化】
问题描述 给定一个环,A[1], A[2], A[3], … , A[n],其中 A[1] 的左边是 A[n]。要求从环上找出一段长度不超过 K 的连续序列,使其和最大。 Input 第一行一个整数 T,表示数据组数,不超过 100。 每组数据第一行给定两个整数 N K。(1 ≤ N ≤ 100000, 1 ≤ K ≤ N) 接下来一行,给出 N 个整数。(-1000 ≤ A[i] ≤ 1000)。 Output 对于每一组数据,输出满足条件的最大连续和以及起始位置和终止位置。如果有多个结果,输出起始位置最
454



被折叠的 条评论
为什么被折叠?



