随笔分类 - 快乐的一天从AC开始
每日刷题系列
摘要:题目链接 看到数据范围之后就猜是网络流之类的做法,仔细研究了下确实直接费用流就可以做。 首先,这题要求得是最大代价,相当于把代价取相反数的最小代价,之后再取一次相反数。 然后,搞超级源点和超级汇点,分别和$a_{11}$和$a_$连边,容量为$k$,代价为0,表示可以走$k$次。 再来是拆点,对于每
阅读全文
摘要:题目链接 题目就是静态询问树上路径中第K小元素(强制在线)。 有一个非常经典的套路,就是记$g(u)$表示节点$u$到根这一路径上的信息,那么$u$到$v$这一条路径的信息等于$g(u) + g(v) - g(uv) - g(fuv)$,其中$uv$表示$LCA(u, v)$,$fuv$为$uv$的
阅读全文
摘要:题目链接 AC代码 其实就是区间内出现次数超过两次的颜色数量。 发现没有强制在线,想到莫队,但是看了眼数据范围,2e6的$O(n \sqrt n)$估计够呛。 然后换一种离线方法,试着将询问挂到右端点。此时,从左至右遍历数组,对于颜色$c$,记录上上次出现的位置以及上一次出现的位置,分别记为$lst
阅读全文
摘要:题目链接 AC代码 昨天回上海了,一直都在路上,没啥时间写,今天补上。(快乐的7.1在7.2才开始 这题用单调栈或者笛卡尔树就能解决。 注意到美丽度的定义,对于同一个最小值,区间长度肯定越长越好。 枚举所有最小值,借助单调栈可以找到前面和后面离当前元素最近且比当前元素小的元素下标,以当前元素为最小值
阅读全文
摘要:题目链接 AC代码 首先,题目给出的式子中$x$的范围可以缩小到$[1, n]$。 然后这个式子是4元的,感觉很不好写。注意到范围再2D平面中是个矩形,试着搞下矩形容斥,即把一个询问拆成4个询问,拆分后的询问只有2元。具体如下: \[ \begin{aligned} \operatorname{An
阅读全文
摘要:题目链接 AC代码 看到题面想到了莫比乌斯反演模板题,即求$\sum_\sum_ [\gcd(x, y) = k]$,其中$k$为指定常数。 这题将$k$的取值变为了素数,不过还是按照常规套路推一下式子: \[ \begin{aligned} ans &= \sum_{p \in {P}} \sum
阅读全文
摘要:题目链接 AC代码 考虑使用DP解决这题。 记$dp_{i, j}$表示将前$i$个元素分为$j$个连续子序列的方法数,记$s_i = \sum_^ a_i$,那么有转移方程 \[ dp_{i, j} = \sum_{k = 1}^{i} [s_i - s_k \equiv 0 \mod j] dp
阅读全文
摘要:题目链接 AC代码 每次看到形如$a_i + a_j = i + j$这种公式,总想着把带$i$的划到一边,带$j$的划到一遍,然后map乱搞。但是这题是$a_i \cdot a_j = i + j$,这样做并不行。 注意到一个非常重要的条件,就是$a$中元素是不重复的。所以可以用一个数组$p$记录
阅读全文