题目传送门(内部题116) 输入格式 第一行两个整数$n,m$,如题 第二行有$n$个整数表示$h_1-h_n(1\leqslant h_i\leqslant 10^9)$ 接下来有$m$行,每行两个整数,$p,H_p$,表示第$p$个位置的苹果实际高度为$H_p$. 输出格式 输出共$m$行,每行一个整数,表示这种修改情况下的答案. 样例 样例输入: 5 3 1 2 3 4 4 1 5 5 5 2 3 样例输出: 1 5 3 数据范围与提示 样例解释: 第一种情况 苹果高度为$5\ 2\ 3\…
题目描述 虽不能至,心向往之. $Treap=Tree+Heap$ 椎$=$树$+$堆 小$\pi$学习了计算机科学中的数据结构$Treap$. 小$\pi$知道$Treap$指的是一种树. 小$\pi$还知道$Treap$节点上有两个权值$k$和$w$,其中$k$满足二叉搜索树性质.$w$满足堆性质. 小$\pi$还知道在$k$和$w$都各不相同的时候,$Treap$的形态是固定的. 但是小$\pi$不知道这道题目的做法. 这道题目要求你维护一个大根堆$Treap$,要求支持$n$个操作: $…
P4198 楼房重建 题目链接 https://www.luogu.org/problemnew/show/P4198 题目描述 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些事件发生在一个二维平面上.小A在平面上(0,0)点的位置,第i栋楼房可以用一条连接(i,0)和(i,Hi)的线段表示,其中Hi为第i栋楼房的高度.如果这栋楼房上任何一个高度大于0的点与(0,0)…
题目描述 小$w$来到天堂的门口,对着天堂的大门发呆.大门上有一个二分图,左边第$i$个点连到右边第$p_i$个点.(保证$p_i$是一个排列).小$w$每次可以找左边某个对应连线尚未被移除的点$i$,付出$c_i$的代价之后删除左边第$i$个点到右边第$p_i$个点的连线,以及所有和它们相交的连线.请问小$w$最少要花多少钱来删除所有连线? 输入格式 一行一个整数$n$表示两边点的个数.一行$n$个整数表示$p_i$.一行$n$个整数表示$c_i$. 输出格式 一行一个整数表示答案. 样例 样…
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2957 分析: 根据题意,就是比较斜率大小 只看一段区间的话,那么这段区间能看见的楼房数量就是这段区间的单调栈的大小 那么这题就是用线段树来维护这个单调栈 len[k]表示对于区间k来说单调栈的大小是多少 那么自底向上maintain(k)的时候,len[k]=len[lson]+find(rson,max[lson]) find(k,x)就是表示以数字x进去k区间,那么能走的步数是多少 那么…
点此看题面 大致题意: 给你一个长度为\(n\)的序列\(A\),每次询问修改一个元素(只对当前询问有效),然后让你找到一个不下降序列\(B\),使得这两个序列相应位置之差的平方和最小,并输出这个最小平方和. 如何预处理 首先,仔细观察样例解释,我们可以发现一个有趣的性质:对于\(B\)序列中相同的一段元素,它们在\(A\)序列中恰好是这一段区间中所有数的平均数. 因此,我们大胆猜测:我们可以把\(A\)序列划分成若干段,然后求出每段的平均值,就可以求出最后的\(B\)序列. 那么,现在我们要做…
题目描述 $duyege$的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹.为了查出真相,$duyege$准备修好电脑之后再进行一次金坷垃的模拟实验.电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为$v_i$的金坷垃,或者除掉最新$v_i$层(不是量)撒的金坷垃.如果上面只留有不足$v_i$层金坷垃,那么就相当于电脑上面没有金坷垃了.$duyege$非常严谨,一开始先给你$m$个上述操作要你依次完成.然后又对实验步骤进行了$q$次更改,每次更改都会改变其中一个操作为另外一个操作.每次修改之后…
题目描述 给定一个由小写字母组成的字符串$s$. 有$m$次操作,每次操作给定$3$个参数$l,r,x$. 如果$x=1$,将$s[l]~s[r]$升序排序: 如果$x=0$,将$s[l]~s[r]$降序排序. 你需要求出最终序列. 输入格式 第一行两个整数$n,m$.第二行一个字符串$s$.接下来m行每行三个整数$l,r,x$. 输出格式 一行一个字符串表示答案. 样例 样例输入 5 2cabcd1 3 13 5 0 样例输出 abdcc 数据范围与提示 对于$40\%$的数据,$n,m\le…
题面 传送门 思路 首先看看我们到底要干什么:有$1e6$次询问,遍历$i$,每次要求一个形如$b_i \ast a_j - a_i \ast b_j$的东西的最大值 考虑如果一个$j$的决策在当前的$i$上比$k$这个位置更优会得到什么: $b_i \ast a_j - a_i \ast b_j > b_i \ast a_k - a_i \ast b_k$ $b_i \ast (a_j-a_k) > a_i \ast (b_j-b_k)$ $\frac{b_i}{a_i} > \fra…
Wannafly挑战赛18 E 极差 题意 给出三个长度为n的正整数序列,一个区间[L,R]的价值定义为:三个序列中,这个区间的极差(最大值与最小值之差)的乘积. 求所有区间的价值之和.答案对\(2^{32}\)取模. 题解 如果只有一个区间,我们可以枚举区间右端点,当右端点向右移动,左端点在[x, r]的一些区间的值会发生改变,可以用单调栈和线段树维护. 至于三个区间,可以用八棵线段树维护选中的某几个区间想乘的值. 代码 #include<bits/stdc++.h> using names…