【线段树】【JSOI 2008】【bzoj 1012】最大数maxnumber

noip-数据结构习题.pdf By Hyt 数据结构 1. 线段树练习 X 3 CodeVS1080~1082 2. 借教室 NOIP2010 (CodeVS1217 可提交) 3. 最大数 JSOI2010 (BZOJ1012 可提交) 4. 理想的正方形 HAOI2007 (BZOJ1047 可提交) 5. Lineup 排队 USACO2007 (BZOJ1699 可提交) 6. BZOJ2738 矩阵乘法 7. BZOJ2311 花神游历各国 8. BZOJ1878 HH 的项链 9. BZOJ3132 上帝造题的七分钟 10. VIJOS1083 小白逛公园 图论 1. 货车运输 倍增 LCA+最小生成树 NOIP2013 2. 关押罪犯 并查集 NOIP2010 3. 舒适的路线 离线处理+最小生成树 CodeVS1001 By Hyt 4. 银河英雄传说 并查集 CodeVS1540 5. 受欢迎的牛 强联通分量 BZOJ1051 6. 部落划分 二分+最小生成树 BZOJ1821 7. 最长路径 最短路 BZOJ1295 8. 社交网络 Floyd 变种 BZOJ1491 9. 抢掠计划 最短路+图 立即下载

1012: [JSOI2008]最大数maxnumber

Time Limit: 3 Sec  Memory Limit: 162 MB
Submit: 5996  Solved: 2589

Description

现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。 2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且在长整范围内。注意:初始时数列是空的,没有一个数。

Input

第一行两个整数,M和D,其中M表示操作的个数(M <= 200,000),D如上文中所述,满足(0

Output

对于每一个查询操作,你应该按照顺序依次输出结果,每个结果占一行。

Sample Input

5 100
A 96
Q 1
A 97
Q 1
Q 2

Sample Output

96
93
96

题解:

裸的线段树。不解释。

Code:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 200010
#define root 1,1,200000
#define lch rt<<1,l,mid
#define rch rt<<1|1,mid+1,r

int m,p,num,t,tree[N<<2];

int in(){
    int x=0; char ch=getchar();
    while (ch<'0' || ch>'9') ch=getchar();
    while (ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar();
    return x;
}

void change(int rt,int l,int r,int x,int k){
    if (l==r){
        tree[rt]=k;
        return;
    }
    int mid=(l+r)>>1;
    if (x<=mid) change(lch,x,k);
    else change(rch,x,k);
    tree[rt]=max(tree[rt<<1],tree[rt<<1|1]);
}
int query(int rt,int l,int r,int ll,int rr){
    if (ll<=l && r<=rr) return tree[rt];
    int mid=(l+r)>>1,k=0;
    if (ll<=mid) k=max(k,query(lch,ll,rr));
    if (rr>mid) k=max(k,query(rch,ll,rr));
    return k;
}

int main(){
    m=in(),p=in(); num=t=0;

    while (m--){
        char opt=getchar();
        while (opt!='A' && opt!='Q') opt=getchar();
        int x=in();
        if (opt=='A'){
            x=(x+t)%p; num++;
            change(root,num,x);
        }
        else {
            t=query(root,num-x+1,num);
            printf("%d\n",t);
        }
    }

    return 0;
}
片上眼图(Eye-opening monitor) 当它们值不同的时候error counter +1,通过统计RX到的码元个数、error counter,可以获得offset sampler上下左右不停的调整位置时的一个误码率(BER),通过这个误码率去描绘出眼图。如上图所示,eye-scan RX端 offset sampler独立且并行的和使用CDR sample的采样电路一起跑,offset-sampler可以任意调整水平(time)和垂直(voltage)方向的偏移(如下图所示),在一个UI内产生一个全新的sample点。 阅读详情

相关推荐

企业AI Agent审计与合规:从日志留存到网络联动的完整落地指南

审计日志是企业安全与合规体系的基石,尤其在AI Agent大规模接入业务后,如何完整记录其行为链成为新的挑战。从日志留存180天到PCI DSS合规要求,审计体系需要覆盖会话、推理、工具调用、数据访问等关键环节,并结合不可篡改的存储设计,确保证据链可信。同时,借鉴上网行为管理设备对应用行为控制审计的思路,以及Kismet被动监测网络流量的方法论,将网络侧审计与应用侧日志交叉验证,能有效发现越权和异常行为。本文从日志采集、全链路追踪、基线预警到多租户隔离,系统梳理了AI Agent审计与合规落地的关键路径,帮

weixin_32234493的博客 265

BZOJ 1012: [JSOI2008]最大数maxnumber

Description 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。 2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数

jjs98 718

【第六届起重机创意大赛国一作品——资料分享】

文章目录前言一、比赛内容分析二、确定方案与作品模型1.方案简图2.作品模型三、电控部分控制思路单片机选择与资源分配拓展板的设计接线与走线代码分享总结

qq_19308801的博客 7781

[bzoj4149][线段树]Global Warming

Description 给定一个序列a[1],a[2],…,a[n]。请从中选出一段连续子序列,使得该区间最小值唯一、最大值也唯一。 输出选出的子序列的长度的最大值以及取到最大值时左端点的最小值。 Input 第一行包含一个正整数n(1&lt;=n&lt;=500000),表示序列长度。 第二行包含n个正整数,依次表示a[1],a[2],…,an。 Output 包含一行两个整数l,k,...

Rose_max的博客 323

从Podfile到分享成功:ShareSDK小红书模块集成全流程实战(附视频分享代码)

本文详细介绍了iOS应用如何通过ShareSDK集成小红书分享功能的全流程,包括环境配置、SDK初始化、图片和视频分享实现,以及常见问题排查和性能优化策略。特别针对视频分享这一高频需求场景,提供了完整的代码示例和实战技巧,帮助开发者快速实现社交分享功能。

weixin_42540248的博客 226

DSShop移动商城网店系统 反序列化RCE漏洞复现

DSShop单店铺移动商城网店系统的getCartList方法的cart参数存在php反序列化漏洞,攻击者可以通过漏洞执行任意代码,获取服务器权限。

0xSec 1471

【BZOJ】1012 最大数

题目维护一个数列,两种操作: 1. 查询操作 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:L不超过当前数列的长度。 2. 插入操作 语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。 限制:n是非负整数并且在长整范围

Sdchr 474

K8S搭建(centos)四、安装K8S

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 2650

【bzoj 1012】[JSOI2008]最大数maxnumber(线段树||st表)

1012: [JSOI2008]最大数maxnumber Time Limit:3 SecMemory Limit:162 MBSubmit:8663Solved:3798 [Submit][Status][Discuss] Description   现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前...

weixin_30588907的博客 181

【施磊】C++课程笔记目录

【C++编程】施磊老师C++笔记目录

GeniusAng的博客 4122

ThingsBoard-阿里云短信规则节点

由于Thingsboard平台国内只支持短信服务,那我们运维人员去及时接收邮箱肯定是没有短信来的方便的,在这基础上,需要自己从规则链入手,自定义一个支持阿里云短信服务的规则节点。

weixin_67440240的博客 2094

bzoj4149 [AMPPZ2014]Global Warming

dalao们都说单调栈..那就单调栈吧

照月之白 1000

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

BZOJ 1012: [JSOI2008]最大数maxnumber【线段树||单调栈】

1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MB Submit: 11990 Solved: 5202 【题目描述】   现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L 个数中的最大的数,并...

aiweiluan5095的博客 72

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

bzoj 1012 [JSOI2008]最大数maxnumber 线段树

题意: 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。 2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且在长整范围内...

weixin_30645617的博客 142

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【BZOJ 1012】 [JSOI2008] 最大数maxnumber(线段树)

题目 Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且...

t14 的博客 200

【BZOJ 1012】 [JSOI2008]最大数maxnumber(线段树做法)

【题目链接】:http://www.lydsy.com/JudgeOnline/problem.php?id=1012 【题意】 【题解】 预开一个20W长度的线段树; 这里a[1..20W]={0}; 每次对单个点进行修改操作; 然后返回区间的最大值; 【完整代码】 /**********************************...

AWCXV 167

bzoj 1012: [JSOI2008]最大数maxnumber(线段树)

Description   现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L 个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加 上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取 模,将所得答案插入到数列的末尾。限制:

ZAQ的博客 598

[Bzoj1012][JSOI2008]最大数maxnumber(线段树)

题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1012 看到单点更新和查询先想到线段树,初始化直接将所有的位置看成0,就只有单点修改和单点查询了。 1 #include<bits/stdc++.h> 2 #define lson l,mid,i<<1 3 #define rson mid+1,r...

weixin_30627381的博客 92

BZOJ 1012 [JSOI2008]最大数maxnumber=听说是线段树

题目传送门:23333 听说是线段树标算,但我不知道为毛写了一个黑科技。 -------------------------- 黑科技 维护一个递减栈,每次增加元素时,如果栈顶元素小于新增则弹出来保持递减性。 并且同时存下栈中元素的号码。 查询时从栈顶往下找,找到一个在L以内最大的输出即可。 -------------------------- 以下论线

YYMHL 567

BZOJ 1012: [JSOI2008]最大数maxnumber 线段树入门题

题目描述   现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L 个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加 上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取 模,将所得答案插入到数列的末尾。限制:n是非负整数并

I'm Growing 455

【线段树】BZOJ1012 [JSOI2008]最大数maxnumber

题面在这里又在A水题……这个不用我多说了吧,随便套个什么数据结构就行了示例程序

linkfqy 622

bzoj 1012: [JSOI2008]最大数maxnumber 线段树

1012: [JSOI2008]最大数maxnumber Time Limit:3 SecMemory Limit:162 MB Description   现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中...

weixin_30764883的博客 77

bzoj1012 [JSOI2008] 最大数maxnumber 线段树

Description  现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L 个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加 上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取 模,将所得答案插入到数列的末尾。限制:n是非负整

olahiuj的博客 266

BZOJ 1012[JSOI2008]最大数maxnumber (线段树解法)

1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MB Submit: 11164  Solved: 4883 [Submit][Status][Discuss] Description   现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L 个

Sizaif's 小屋 610

【bzoj1012】【JSOI2008】【最大数】【maxnumber】【线段树】

题目大意给出一个空序列,支持队尾插入,查询队尾往前x长的子序列的最大值。题解数据结构裸题,上线段树即可。

inklutcuah’s blog 441

bzoj 1012: [JSOI2008]最大数maxnumber (线段树)

1012: [JSOI2008]最大数maxnumber Time Limit:3 SecMemory Limit:162 MBSubmit:13081Solved:5654[Submit][Status][Discuss] Description   现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的...

weixin_30821731的博客 104
上一篇: 【最小染色】【HNOI 2008】【bzoj 1006】神奇的国度
下一篇: 【高斯消元】【JSOI 2008】【bzoj 1013】球形空间产生器sphere
morestep
博客等级 码龄12年 20粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值