摘要:"原题链接" 乍看完全没啥想法,实际上很简单。 首先预备知识: "最大子段和" 的做法。 对于环状最大两段子段和,实际上只有两种情况(设$0$表示不取,$\_$表示取): 1. $0000\_\_\_\_0000\_\_\_\_0000$,即没有利用环状这个条件,直接在原序列里取。 2. $\_\_
阅读全文
摘要:"原题链接" ~~日常写水题~~ 将所有女生看作$ 1$,然后对整个序列进行前缀和操作(设前缀和数组为$S[]$)。那么若$S[x] = S[y]$,就表明区间$(x, y]$之间的男女人数是相同的。 因此我们扫一遍前缀和数组,开一个桶记录某个值下的最小下标(即上面提到的区间左端点$x$),而当下一
阅读全文
摘要:"BZOJ原题链接" "洛谷原题链接" STL 本题可以直接使用$\mathtt{STL\ multiset}$水过去。 因为本题插入数的操作实际上就是将原数列分为$n$段,在每一段的末尾插入数,所以我们只需维护每一段的开头和末尾两个数,这样更新相邻差值时只需考虑插入数与原末尾和下一段的开头两个数的
阅读全文
摘要:原写于我的洛谷博客,由于洛谷的$\mathtt{markdown}$编辑器和博客园的$\mathtt{markdown}$编辑器有点差别,所以实在懒得进行微调,就直接挂一个到洛谷博客的链接好了。 "$\LaTeX\text{入门}$"
阅读全文
摘要:"BZOJ原题链接" "洛谷原题链接" $DP$水题。 定义$f[i][j]$表示小猫在高度$i$,位于第$j$棵树时最多能吃到的柿子的数量。分为直接往下跳和跳到另一棵树两个决策。 那么很容易写出状态转移方程: $$f[i][j] = \max \{ f[i + 1][j], f[i + Delta
阅读全文
摘要:"原题链接" $DP$水题,但我用了个三维数组。。在某谷看到的题解全是二维的。。不过反正能$A$,管它呢。 定义$f[i][j][k]$表示前$i$本书中不选$j$本,且最后一本选的书的下标为$k$。设$a[i]$表示第$i$本书的宽度,$m$表示最多能不选几本,$abs()$为绝对值。 于是有状态
阅读全文
摘要:"原题链接" 这题可以用爆搜或高斯消元,这里我用的是高斯消元。 对于题目中的样例: 我们可以将其转化为如下的方程组: $\begin{cases} A + B = E + k_1 \\ B + D = B + k_2 \\ C + A = B + k_3 \\ E + C = A + k_4 \\
阅读全文
摘要:"原题链接" 二分+差分 运用差分的思想,对于在$[l, r]$间租借$x$间教室的订单,在差分数组(设为$a[]$)中只需将$a[l] + x, a[r + 1] x$即可,最后只需要前缀和一下就可以计算出某一天需要租借的教室数量,再与当天可租借的教室数量比较大小就可以知道是否可行。 于是我们成功
阅读全文