「SuperOJ 404」系列操作I

系列操作Ⅰ

题目描述

给出序列 $a_1,a_2, \cdots ,a_n(0 \leq a_i \leq 10^9)$,有关于序列的两种操作:

  1. $a_i(1 \leq i \leq n)$ 加上 $x(-10^3 \leq x \leq 10^3)$
  2. 求 $max { a_l, a_{l+1}, \cdots ,a_r } (1 \leq l \leq r \leq n)$

输入格式

第一行包含两个数 $n(1 \leq n \leq 10^5)$ 和 $m(1 \leq m \leq 10^5)$,表示序列长度和操作次数。
接下来一行 $n$ 个数,以空格隔开,表示 $a_1, a_2, \cdots, a_n$。
接下来 $m$ 行,每行为以下两种格式之一。

0 i x,表示 $a_i$ 加上 $x$。

1 l r,求 $max{ a_l,a_{l+1}, \cdots, a_r }$。

输出格式

对于每次询问,输出单独一行表示答案。

「SuperOJ 142」车厢调度

车厢调度

题目描述

有一个火车站,铁路如图所示,每辆火车从 A 驶入,再从 B 方向驶出,同时它的车厢可以重新组合。假设从 A 方向驶来的火车有 n 节(n<=1000),分别按照顺序编号为 1,2,3, \cdots ,n 。假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到 B 处的铁轨上。另外假定车站 C 可以停放任意多节车厢。但是一旦进入车站 C,它就不能再回到 A 方向的铁轨上了,并且一旦当它进入 B 方向的铁轨,它就不能再回到车站 C。

负责车厢调度的工作人员需要知道能否使它以 a1,a2, \cdots ,an 的顺序从 B 方向驶出,请来判断能否得到指定的车厢顺序。

「SuperOJ148」表达式括号匹配

表达式括号匹配

题目描述

假设一个表达式有英文字母(小写),运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。

请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。假设表达式长度小于 255,左圆括号少于 20 个。

输入格式

输入一行,一个表达式。

输出格式

如果括号匹配,输出“YES”,否则输出“NO”。

树状数组

树状数组求逆序对

树状数组

树状数组(Binary Indexed Tree(BIT), Fenwick Tree) 是一个查询和修改复杂度都为 $O(\log n)$ 的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;
经过简单修改可以在 $O(\log n)$ 的复杂度下进行范围修改,但是这时只能查询其中一个元素的值。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×