隐藏
Bill Yang's Blog

路终会有尽头,但视野总能看到更远的地方。

0%

题目大意

    定义$0$是最小的数,定义一个二元组$(a,b)$为一个数,定义两个数的大小关系是先按照第一关键字比较,后按照第二关键字比较。
    数可以进行复合,即可以将$(a,b)$,$(c,d)$复合为一个数$((a,b),(c,d))$,大小关系同样进行嵌套。
    修改一个数为已有两个数的复合,询问一段区间的最大值。

阅读全文 »

题目大意

    给出向量$a=(a_1,a_2,a_3,\ldots,a_N)$,保证任意时刻$ai\in[0, 2^{31})\bigcap Z$,实现两个操作:
    $1)\,$将$a_i$重新赋值;
    $2)\,$第$t$次操作结束时,将$a_l\ldots a_r$中第$k$小的元素求出。

阅读全文 »

题目大意

    一个长度为$n$的序列$a$,设其排过序之后为$b$,其中位数定义为$b[n/2]$,其中$a,b$从$0$开始标号,除法取下整。
    给你一个长度为$n$的序列$s$。
    回答$Q$个这样的询问:$s$的左端点在$[a,b]$之间,右端点在$[c,d]$之间的子序列中,最大的中位数。
    其中$a\lt b\lt c\lt d$。
    位置也从$0$开始标号。
    我会使用一些方式强制你在线。

阅读全文 »

时间复杂度是每个程序均有的属性,我们用渐进时间复杂度(Big $O$)来表示程序的运行效率。
部分程序的时间复杂度常常难以直接看出,因此我们需要借助一些工具来完成时间复杂度的计算。

下面介绍的递归结构分析法(主定理)可以在思考过程时计算想法程序的时间复杂度从而验证数据范围,而部分摊还分析常常在学习数据结构时使用到,从而加深理解以便进行拓展。

阅读全文 »