BZOJ 1012 [线段树]

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
Description
  现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且在长整范围内。注意:初始时数列是空的,没有一个数。
Input
  第一行两个整数,M和D,其中M表示操作的个数(M <= 200,000),D如上文中所述,满足D在longint内。接下来M行,查询操作或者插入操作。
Output
  对于每一个询问操作,输出一行。该行只有一个数,即序列中最后L个数的最大数。
Sample Input
5 100
A 96
Q 1
A 97
Q 1
Q 2
Sample Output
96
93
96

线段树模板题,水….

附代码:

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#define N 200010
using namespace std;

int n, d, t = 0, len = 0, x;
int Max[N << 2];

inline void add(int o, int x, int l, int r, int y) {
  if (l == r) {
    Max[o] = y; return;
  }
  int mid = (l + r) >> 1, ls = o << 1, rs = o << 1 | 1;
  if (x <= mid) add(ls, x, l, mid, y);
  else add(rs, x, mid + 1, r, y);
  Max[o] = max(Max[ls], Max[rs]);
}
inline int query(int o, int L, int R, int l, int r) {
  if (L <= l && R >= r) {
    return Max[o];
  }
  int mid = (l + r) >> 1, ls = o << 1, rs = o << 1 | 1, ans = 0;
  if (L <= mid) ans = max(ans, query(ls, L, R, l, mid));
  if (R > mid) ans = max(ans, query(rs, L, R, mid + 1, r));
  return ans;
}
inline char get(void) {
  static char buf[100000], *p1 = buf, *p2 = buf;
  if (p1 == p2) {
    p2 = (p1 = buf) + fread(buf, 1, 100000, stdin);
    if (p1 == p2) return EOF;
  }
  return *p1++;
}
inline char getk(void) {
  char c = get();
  for(; c != 'A' && c != 'Q'; c = get());
  return c;
}
inline void read(int &x) {
  x = 0; char c = get();
  for(; c < '0' || c > '9'; c = get());
  for(; c >= '0' && c <= '9'; x = (x << 1) + (x << 3) + c - '0', c = get());
}

int main(void) {
  read(n); read(d);
  for(int i = 0; i < n; i++) {
    if (getk() == 'A') {
      read(x); len++; add(1, len, 1, N - 5, (x + t) % d);
    } else {
      read(x); printf("%d\n", (t = query(1, len - x + 1, len, 1, N - 5)));
    }
  }
  return 0;
}
全网最全医学图像数据汇总 本仓库汇总了多个领域的医学图像开源数据集,涵盖CT、MRI、超声、内窥镜、病理、多模态、PET、OCT以及皮肤镜等多种成像技术。每个数据集均详细列出了任务类型、部位、格式、数量及下载链接,旨在为医学图像研究者提供便捷的资源导航。⚠️:这些数据集仅适用于学术研究用途。 阅读详情

相关推荐

STM32驱动2.8寸TFTLCD屏幕实战:从看懂原理图到点亮第一个像素(基于ILI9341)

本文详细介绍了如何使用STM32驱动2.8寸TFTLCD屏幕(基于ILI9341驱动芯片),从硬件连接到软件配置,包括FSMC接口设置、ILI9341初始化序列、坐标设置及基础绘图函数实现。文章还提供了常见问题排查指南和性能优化技巧,帮助开发者快速解决屏幕不亮等问题,并提升显示性能。

weixin_42665255的博客 267

【BZOJ】1012 最大数

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

Sdchr 474

三极管稳压电路仿真分析

Z1的负极连接到三极管的基极,三极管发射极E是输出,形成了一个射极跟随器,也就是说,E极的电压随着B电压变化而变化,但BE之间有一个压降,一般硅管0.7V左右,假设B极是6.7V,那E极就是6.7-0.7=6V,所以就有一个公式VOUT=Vz-Vbe,可以根据VOUT来选择合适的稳压管。从稳压管的SPEC中我们可以看到,Vz@Izt这个参数,指在Izt=20mA时,稳压管的稳压值Vz=5.1V,也就是说流过稳压管的电流在20mA以上,稳压效果最佳。三极管导通之后,E点电压会升高,当升高到Vbe。

U_YAO的博客 2322

BZOJ1012(线段树/单调队列)

题目链接:点击打开链接题目描述:1012: [JSOI2008]最大数maxnumberTime Limit: 3 Sec  Memory Limit: 162 MBSubmit: 12966  Solved: 5584[Submit][Status][Discuss]Description  现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个...

Chen.Jr的博客 314

手把手教你用gym训练宇树GO2机器人模型(附完整配置文件)

本文提供了一份详细的实战指南,教你如何使用Gym框架为宇树GO2四足机器人搭建强化学习训练环境。文章深入解析了环境配置、参数调试、奖励函数设置等关键步骤,并分享了避开常见陷阱的经验,旨在帮助开发者高效完成模型训练。

oo7890的博客 322

无人机飞控传感器全解析:从IMU到光流传感器的实战应用

本文深入解析了无人机飞控系统的核心传感器,从IMU、气压计、磁力计到光流传感器,详细阐述了其工作原理、数据融合策略及常见挑战。结合ICF5、Pixhawk 6C等主流飞控硬件,提供了从传感器校准、滤波器调优到应对室内光流定位、强磁干扰等实战场景的系统性优化指南,帮助开发者突破飞控“黑箱”,实现更稳定、可靠的飞行控制。

weixin_28396629的博客 167

BZOJ 1012: [JSOI2008]最大数maxnumber 题解

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

Wflower的Blog //What are you waiting for? 385

LPDDR5 学习笔记02:上电初始化与下电时序

LPDDR5上电初始化流程需严格遵守时序要求:首先确保电源按顺序上电(VDD1→VDD2H→VDD2L→VDDQ),RESET_n保持低电平至电压稳定。初始化包含自动ZQ校准、命令总线训练(CBT)、WCK2CK电平校准和DQ总线训练四个关键阶段,需完成全部训练后才能正常操作。在双电源轨系统中,须在CBT前设置MR13寄存器。复位操作需保持RESET_n低电平至少tPW_RESET时间,断电时要求CS保持低电平且电源电压有序下降。非受控下电时电压斜率需低于0.5V/μs,器件生命周期内不得超过400次非受控

一只豌豆象的博客 2040

弱逼发福利——BZOJ简易题解

  本弱逼长期做题都是膜题解膜题解,感觉提供一些关键点在进行思考的话能够更快的加强算法能力,所以我就稍微的写一写。   upd 3.8 : 懒癌晚期不想写东西了,我就记录一些最近做的不想写的傻逼题吧。   【BZOJ1001】  最小割转平面图。   【BZOJ1002】  状态压缩dp。   【BZOJ1003】  最短路+dp。   【BZOJ1004】  每一种洗牌对应一种置换,用...

weixin_34296641的博客 422

锐捷-GZ073 网络系统管理赛项赛题第1套A模块-S5配置

锐捷-GZ073 网络系统管理赛项赛题第1套A模块-S5配置

weixin_46183247的博客 767

matlab电子科技大学数学实验期末模拟35道(1)

【代码】matlab电子科技大学数学实验期末模拟35道。

c_wrj_的博客 2043

BZOJ1012 [JSOI2008]最大数 线段树

BZOJ1012 [JSOI2008]最大数 线段树 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:LLL不超过当前数列的长度。(L&gt;0)(L &gt; 0)(L&gt;0) 2、 插入操作。 语法:A n 功能:将nnn加上t...

loooooog的博客 225

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

BZOJ 1012之线段树解法

根据题意,很容易想到线段树,单点修改,区间查询,线段树的模板大家都有,所以就不再做过多解释。不过有一点值得一提,在我做这道题的时候使用了cin和cout,后来队友告诉我,bzoj使用了O2优化,使用cin和cout可能会报错,果然,我改了cin和cout之后就没有问题了。          #include #include using namespace std; long lon

YitongJun的博客 599

SAP B1中文培訓教材_SDK

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

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

bzoj 1012 线段树

题意:初始为空,两种操作::(1) Q L :查询当前数列中末尾L个数中的最大的数,并输出这个数的值。保证L不超过当前数列的长度。(2)A n :将n加上最近一次查询操作的答案(如果还未执行过查询操作,则t=0),对常数D取模,将所得答案插入到数列的末尾。 一眼过去,直觉告诉我是线段树... type rec=record l,r,max:longint

Eirlys的博客 366

数学建模模型总结

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

BZOJ 1012[jsoi2008] 最大数maxnumber 线段树(或者是单调队列+二分)

题目链接:BZOJ 1012 这道题是裸线段树,但也有神犇用单调队列+二分乱搞搞出来了。。。 #include #include #include using namespace std; #define maxn (200000+5) int M,D,N=0; int T[maxn*4]; void update(int x){ T[x]=max(T[x<<1],T[x<<1|1]);

顺 568

BZOJ 1012线段树

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

Apel_dey 329

BZOJ 1012【线段树】

题意: Q L 询问数列最后 L 个数中最大的数。 A n 将 n + t ( t_init = 0 ), 然后插到最后去。 思路: 感觉动态地插入,很有问题。 数组地长度会时常变化,但是可以先预处理就是有2e5个结点(最多)。 然后就是插咯? 它保证query 的时候 L 水题。 #include using namespace std; typedef long long

ONE MORE TRY 486

BZOJ 1012 线段树 解题报告

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

onepointo 347

Luogu P1198 BZOJ 1012 最大数 (线段树)

Luogu P1198 BZOJ 1012 最大数 (线段树) 手动博客搬家: 本文发表于20170821 14:32:05, 原地址https://blog.youkuaiyun.com/suncongbo/article/details/77449455 URL: (Luogu) https://www.luogu.org/problem/show?pid=1198, (B...

suncongbo's blog 174

bzoj1012线段树

线段树维护序列。。 1 #include<cstdio> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstring> 5 #include<ctime> 6 #include<cmath> 7 #include<algori...

weixin_34375054的博客 71

bzoj 1012 基础线段树

原题传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1012 今儿一天状态不好,都没怎么刷题。。快下课了,刷道水题。。。。 裸的线段树 /************************************************************** Problem: 1012 User: BLADE...

weixin_34085658的博客 81

bzoj1012(线段树模板题)

题目读了三遍才读懂,对于蒟蒻来说,看上去很难得样子,实际就是线段树的单点更新,然后求区间最值,无奈之前还想着怎么建树插进去。。结果RE n次,感觉自己水的一匹,唉~ 做题效率极低。。。。 真是被自己蠢哭了 #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;algorithm&...

ha_ha_to_yang的博客 317

BZOJ1012 线段树插入???

题意:维护一个数列,俩种操作,2e5Q查询:末尾开始,数L个数,问最大的数A插入:末尾插入值(n+t)%D,t为上次查询的结果,最开始t=0思路:学习大佬的思路查询:维护区间最大值插入:这种是尾插入,每次插入都暴力build到叶子,并向上更新(logn)注意:线段树一般来说是不支持插入删除的,想想都觉得蛋疼920ms思维难度:0.7   实现难度:0.4#include&lt;stdio.h&gt...

animalcoder 624

bzoj 1012 最大数 maxnumber 线段树

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

Alcohol_C的博客 297

bzoj 1012

Bzoj 1012 [jsoi2008]最大数maxnumber 题目大意:维护一个队列,每次往队尾加一个数或者一个询问(末尾的l个数中的最大值是多少) 解:我是用树状数组维护最大值,我沙茶地把lowbit(x)-1写成了lowbit(x-1),wa了若干次还以为是自己写错了。本题线段树亦可,然后还有一种单调队列+并茶几的算法,这个可用于离线的rmq问题,复杂度O(n),下面分段说。 ...

weixin_30401605的博客 130
上一篇: BZOJ 1059 [匈牙利算法]
下一篇: BZOJ 1191 [匈牙利算法]
Vectorxj
博客等级 码龄11年 35粉丝 231原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值