BZOJ1342 单调队列

bzoj1531 [POI2005]Bank notes(单调队列优化多重背包) 单调队列优化多重背包的板子。 我们朴素的多重背包做法是O(m∑c)O(m∑c)O(m\sum c)的 可以用二进制优化成O(m∑logc)O(m∑logc)O(m\sum logc) 更进一步的,我们可以用单调队列优化成O(nm)O(nm)O(nm) 考虑转移方程 f[j]=max{f[j−k∗v[i]]+k∗w[i]|0≤k≤c[i]}f[j]=max{f[j−k∗v[i]]+k∗w[... 阅读详情

两个单调队列 一个递减一个递增 做的时候如果当前点-队首大于m l++ 这样就保证了区间长度为m


#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define N 1001000
#define inf 0x3f3f3f3f
using namespace std;
int id1[N],x1[N],l1,r1;
int id2[N],x2[N],l2,r2;
int n,m,p,s[N];
int main()
{
    int i;
    scanf("%d%d%d",&n,&m,&p);
    for(i=1;i<=n;i++)scanf("%d",&s[i]);
    l1=l2=1,r1=r2=0;
    int flag=1;
    for(i=1;i<=n;i++)
    {
        while(l1<=r1&&i-id1[l1]>=m)l1++;
        while(l2<=r2&&i-id2[l2]>=m)l2++;
        while(l1<=r1&&s[i]>=x1[r1])r1--;
        while(l2<=r2&&s[i]<=x2[r2])r2--;
        id1[++r1]=id2[++r2]=i;
        x1[r1]=x2[r2]=s[i];
        if(i>=m)if(x1[l1]-x2[l2]<=p)
            printf("%d\n",i-m+1),flag=0;
    }
    if(flag)puts("NONE");
    return 0;
}
deepin搭建samba服务器 一.为什么要用Samba? Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享。二.需要的软件? 我是在deepin上实现的,在终端中使用一下两句命令,就可以安装Samba的软件包 $sudo apt-get install samba //安装samba 三.Samba服务的组成 Samba的核心是两个守护进程smbd和nmbd。当然,它 阅读详情

相关推荐

手把手教你搞定JBI投稿:从Statement of Significance到Declaration Statement的保姆级避坑指南

本文提供了一份详细的JBI投稿指南,重点解析Statement of Significance和Declaration of Interests的撰写技巧,帮助研究者避开常见格式陷阱。通过实战案例和检查清单,确保投稿符合JBI的学术严谨性和临床转化价值要求,提升稿件通过率。

weixin_29278805的博客 622

BZOJ1342: [Baltic2007]Sound静音问题

题解 :单调队列维护窗口的最大值和最小值 然后查询即可 #include <bits/stdc++.h> const int MAXN=2e6+10; using namespace std; int a[MAXN],q[MAXN],qh,qt; int mn[MAXN],mx[MAXN]; int main(){ int n,m,c;scanf("%d%d%...

weixin_30407099的博客 219

尚硅谷Redis 7学习笔记

尚硅谷Redis 7学习笔记

不更了,主打一个陪伴 2万+

[BOI2007] Sound 静音问题(线段树)

数字录音中,声音是用表示空气压力的数字序列描述的,序列中的每个值称为一个采样,每个采样之间间隔一定的时间。很多声音处理任务都需要将录到的声音分成由静音隔开的几段非静音段。m个采样的序列,该序列中采样的最大值和最小值之差不超过一个特定的阈值c。请你写一个程序,检测n个采样中的静音。

陈进士学习的博客 1058

手把手教你用西门子博图V18配置阿特拉斯PF6000拧紧枪PN通讯(附完整GSD文件与ToolsTalk配置文件)

本文详细介绍了如何使用西门子博图V18配置阿特拉斯PF6000拧紧枪的PN通讯,包括硬件连接、网络参数规划、ToolsTalk软件配置及博图工程设置。通过完整的GSD文件和配置文件,帮助工程师快速实现高精度拧紧设备与PLC的高效通讯,适用于汽车装配和电子制造等工业自动化场景。

weixin_42662293的博客 601

深入解析set_clock_groups:异步时钟约束的最佳实践与陷阱规避

本文深入解析了FPGA/芯片设计中set_clock_groups命令在异步时钟约束中的核心作用与最佳实践。文章对比了同步时钟、异步时钟与不重叠时钟的区别,强调了正确使用set_clock_groups避免时序分析陷阱的重要性,并提供了与set_false_path的优先级差异分析及实战规避方法,帮助设计者确保时序收敛与电路可靠性。

weixin_29232121的博客 373

1342: [Baltic2007]Sound静音问题

1342: [Baltic2007]Sound静音问题 Time Limit:5 SecMemory Limit:162 MBSubmit:710Solved:307[Submit][Status][Discuss] Description 静音问题 数字录音中,声音是用表示空气压力的数字序列描述的,序列中的每个值称为一个采样,每个采样之间间隔一定的时间。 很多...

292

(SEED-Lab)Buffer Overflow Vulnerability Lab缓冲区溢出实验

(SEED-Lab)Buffer Overflow Vulnerability Lab 欢迎大家访问我的GitHub博客 https://lunan0320.cn 文章目录一、实验目的二、实验步骤与结果2.1 环境初始化2.2 Task1 运行shellcode2.3漏洞程序2.4 Task 22.5 Task 3: ASLR2.6 Task 4: Stack Guard2.7 Task 5:不可执行栈三、参考文献 一、实验目的 理解缓冲区溢出攻击的原理以及如何实施攻击 理解针对缓冲区溢出的防御措施

lunan的博客 8981

BZOJ 3100 排列——单调队列

3100 这道题很多网上的题解都是错的啊.. 一部分题解对区间的要求: 1 不重复 2 和为k*(k+1)/2 3 最大值为k 很对啊。。但是貌似不重复这个东西用i-mx这样找区间很难判啊 ——————(对错误题解的吐槽到此结束 依然是上面这几个条件 但是我们发现,只要满足1.3并且区间长度=k,则2必然满足 于是我们用枚举右端点,用bj[a[i]](表示a[i]上一次

来自Fop_zz的辣鸡题解或教程 623

【自然语言处理】情感分析(一):基于 NLTK 的 Naive Bayes 实现

朴素贝叶斯(Naive Bayes)分类器可以用来确定输入文本属于某一组类别的概率。例如,预测评论是正面的还是负面的。它是 “朴素的”,它假设文本中的单词是独立的(但在现实的自然人类语言中,单词的顺序传达了上下文信息)。尽管有这些假设,但朴素贝叶斯在使用少量训练集预测类别时具有很高的准确性。

Data · Model · Agent · Repeat 2173

基于TENG的呼吸测量与识别系统:从蓝牙到WiFi的改造与上位机实现

本文介绍了一种基于摩擦纳米发电机(TENG)的呼吸测量系统改造方案,将原有蓝牙通信升级为WiFi传输。系统通过TENG传感器采集呼吸信号,STM32微控制器处理数据后,经ESP8266 WiFi模块发送至上位机。文中详细阐述了硬件改造(四通道改单通道、蓝牙换WiFi)、嵌入式软件修改(包括ESP8266驱动、数据采集与TCP通信实现)以及上位机软件设计。改造后的系统提升了传输距离和稳定性,为可穿戴健康监测提供了更优解决方案。

huanghm88的专栏 110

[bzoj1342][Baltic2007]Sound静音问题_单调队列

Sound静音问题 bzoj-1342 Baltic-2007 题目大意:给定一个n个数的序列,求所有的长度为m的区间,使得区间内最大值减去最小值不超过阈值c。 注释:$1\le n \le 10^6$,$1\le m\le 10^4$。 想法:单调队列裸题。 定长区间最值问题显然可以用单调队列维护。 最后,附上丑陋的代码... ... #include <io...

dianan0938的博客 203

CodeX 登录报错 os error 10013?一键修复 CodeX 无法登录问题(亲测有效)

CodeX 登录时报 os error 10013?本文提供快速修复方案,实测有效,彻底解决登录报错:登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013)的问题💡

XiaoqiangClub的博客 2924

BZOJ_1342_[Baltic2007]Sound静音问题_单调队列

BZOJ_1342_[Baltic2007]Sound静音问题_单调队列 题意: 给出n个数,求∑[ max{a[i]~a[i+m-1]} - min{a[i]~a[i+m-1]} <= c ] 分析: 滑动窗口 我们维护两个单调队列,分别存最大,最小值 代码: #include <cstdio> #include <cstd...

177

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

BZOJ 1342 单调队列

1342: [Baltic2007]Sound静音问题Time Limit: 5 Sec Memory Limit: 162 MB Submit: 960 Solved: 430 [Submit][Status][Discuss] Description静音问题 数字录音中,声音是用表示空气压力的数字序列描述的,序列中的每个值称为一个采样,每个采样之间间隔一定的时间。 很多声音处理任务都需

zhn_666的博客 514

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

bzoj1342[Baltic2007]Sound静音问题*

bzoj1342[Baltic2007]Sound静音问题 题意: 给出一个n个数的序列,问有多少个长度为m的区间满足该区间的最大值与最小值的差≤一个定值。n≤1000000。 题解: 两个单调队列,一个维护区间最大值,一个维护区间最小值。 代码: 1 #include <cstdio> 2 #include <cstring> 3 #i...

anheku1562的博客 161

【BZOJ1342】【Baltic2007】Sound静音问题 单调队列

题意: 虽然这道题是汉语的,但是我有必要说一下题意。 就是问你长度为m的区间中,有哪些区间的最大值-最小值 注意!!!如果没有方案输出NONE。 题解: 首先我们可以写一个multiset2400ms+,就是这样,然后貌似还可以写个线段树(不知道有没有人写) 但是正解显然是写两个O(n)的单调队列。 一个维护当前区间最大值,另一个维护最小值。 代码: #include

辗转山河弋流歌 1865

BZOJ P1342 [Baltic2007] 静音问题 【单调队列】

大概先解释一下题意: 给定序列中有多少个长度为mmm的区间中最大值与最小值的差≤c≤c\leq c,输出左端点。如果无输出,则输出NONENONENONE 给定题意之后这道是不是就变得十分简单了? 由于nnn的范围有点大,用STLSTLSTL也许会TLETLETLE,不过这道题的时间范围是3s3s3s,应该可以过吧? 当然这道题除去STLSTLSTL肯定还是有更加优秀的做法的,比如...

Yucohny 427

【单调队列】BZOJ1342-[Baltic2007]Sound静音问题

【题目大意】 给出一个n个数的序列,以哪位位置为开头的长度为m的区间满足该区间的最大值与最小值的差≤一个定值。 【思路】 单调队列……说一下单调队列比较方便的操作。 把第一个先丢进去,开始条件为head=tail=1。就OK了。我以前总是喜欢左闭右开,还是都闭合好了不容易写错QAQ 所以……越刷越水,去睡觉! 1 #include<bits/stdc++.h&gt...

dianchunhui2654的博客 195

BZOJ 1342 Baltic2007 Sound静音问题 单调队列

题目大意:给定一个长度为n的序列,求哪些长度为m的区间满足区间内最大值与最小值之差小于等于c 利用单调队列维护区间内的最大值和最小值- - 硬搞就可以了- - 刷刷水题真爽- - #include #include #include #include #define M 1001001 using namespace std; int n,m,c,a[M]; int q_max[M]

世界 1448

BZOJ 1342: [Baltic2007]Sound静音问题|单调队列

与BZOJ 2096一样 只不过让他们区间长度等于m判断一下就行#include<set> #include<map> #include<ctime> #include<queue> #include<cmath> #include<cstdio> #include<vector> #include<cstring> #include<cstdlib> #include<iostream> #in

ws_yzy的博客 692

☆[BZOJ1342]Sound静音问题 (单调队列)

敲了一小时咋调调不对,然后发现单调队列敲错了orz 题目描述 数字录音中,声音是用表示空气压力的数字序列描述的,序列中的每个值称为一个采样,每个采样之间间隔一定的时间。 很多声音处理任务都需要将录到的声音分成由静音隔开的几段非静音段。为了避免分成过多或者过少的非静音段,静音通常是这样定义的:m个采样的序列,该序列中采样的最大值和最小值之差不超过一个特定的阈值c。 请你...

ddeneijvu948663112的博客 183

BZOJ 1342: [Baltic2007]Sound静音问题( 单调队列 )

一开始写了个RMQ然后就T了...好吧正解是单调队列, 维护两个单调队列...--------------------------------------------------------------------------------#include<bits/stdc++.h>#define rep(i, n) for(int i = 0; i < n; i++)#d...

weixin_30446613的博客 95

BZOJ 1342: [Baltic2007]Sound静音问题 [单调队列]

1342: [Baltic2007]Sound静音问题 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 835  Solved: 372[Submit][Status][Discuss] Description 静音问题 数字录音中,声音是用表示空气压力的数字序列描述的,序列中的每个值称为一个采样,每个采样之间间隔一定的时间。 很多声音处理任...

weixin_33726943的博客 95
上一篇: BZOJ1746 DP
下一篇: BZOJ4719 &&NOIP2016 天天爱跑酷
Devil_Gary
博客等级 码龄9年 5粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值