随笔分类 - OJ --- LOJ
摘要:"题面" 题解 显然两个手环只需要一个的亮度增加$c \in [ m, m]$和原题是等价的。 于是可以写成这样一个公式: $$ \sum_{i = 1} ^ n(x_i y_{i+k} + c) ^ 2 $$ 于是最后只有$ 2\sum_{i=1}^n x_iy_{i+k}$不是常数项(假设$c$
阅读全文
摘要:"题面" 题解 对于两个位置$l, r$,如果它们分别是区间$[l, r]$的最大值,那么可以产生$p1$的贡献, 否则如果它们中有一个是最大值,那么可以产生$p2$的贡献。 所以对于当前位置$i$,假设左右两边第一个比它大的是$l, r$,那么$[l, r]$可以产生p1的贡献,$[l + 1 \
阅读全文
摘要:"题面" 题解 ~~trajan的spaly是O(1)的(逃~~ 通过~~看题解~~手玩发现只要将最值的点放到树根,其他的父子关系不需要变。 于是想到动态连边和断边的数据结构:$\mathrm{LCT}$,于是用$\mathrm{LCT}$维护$\mathrm{splay}$。 这样后面的四个操作就
阅读全文
摘要:"题面" 题解 树链剖分 + 主席树 先考虑一个简单一点的问题: "【LNOI2014】LCA" 我们考察$dep[\mathrm{LCA}(i, x)]$的性质,发现它是$i$和$x$的链交的长度。 那么对每个$i$所在的链打一个区间加标记,询问时算一下$x$所在的链的区间和即可。 如果有$l \
阅读全文
摘要:"题面" 题解 考察$dep[\mathrm{LCA}(i, x)]$的性质,发现它是$i$和$x$的链交的长度。 那么对每个$i$所在的链打一个区间加标记,询问时算一下$x$所在的链的区间和即可。 如果有$l \leq i \leq r$的限制,就进行离线处理即可。 代码 好久之前的代码,有点丑见
阅读全文
摘要:"题面" 题解 求一个有特殊性质的有向图的生成树的个数。 首先,有向图的生成树的个数可以用矩阵树定理,能够得到$40$分。 但是如果它是一个$\mathrm{DAG}$就很好做,枚举每一个点的父亲,答案就是$\prod d[i]$,$d$是每个点的入度 发现加了一条边之后只会形成一个环,设环上的点为
阅读全文
摘要:"题面" 题解 这道题目首先可以想到拓扑排序,但是肯定不是字典序最小的排列。 比如说,有$4$种菜,限制为$2 \to 4, 3 \to 1$,那么如果求字典序最小的排列会算出$(2, 3, 1, 4)$,但是答案显然是$(3, 1, 2, 4)$。 于是,正难则反,发现如果最后一个数字在合法的范围
阅读全文
摘要:"题面" 题解 考虑进行$dp$。 设$f[i][j]$表示前$i$张卡中有$j$张被触发的概率。 我们可以知道第$i$张卡不被触发的概率为$(1 p_i) ^ {r j}$,因为一共会考虑$r j$次,每次都没有触发。 所以被触发的概率为$1 (1 p_i) ^ {r j + 1}$。 于是$f[
阅读全文
摘要:"题面" 题解 解法一 这个思路要基于以下一个结论: 当你删掉某条边$(x,x+1)$时,最短路路线为:$1\to x(\leq u)\to y( u) \to n$,并且$x\to y$一定不会属于原最短路。 我们枚举删掉最短路上的哪条边,然后把这条边的$s$加进队列做SPFA,这个应该就是部分分
阅读全文
摘要:"题面" 题解 首先将所有相等的用并查集缩点,然后会发现题目有一个很有用的性质: 对每张图片$i$,小D都最多只记住了某一张质量不比$i$差的另一张图片$K_i$。 于是将$K_i$作为$i$的父亲节点,对于$K_i = 0$的点,令$i$的父亲为$n + 1$即可。 开始树形$dp$,设$f[x]
阅读全文
摘要:"题面" 题解 知识引入 $SG$函数 任何一个公平组合游戏都可以通过把每个局面看成一个顶点,对每个局面和它的子局面连一条有向边来抽象成这个“有向图游戏”。下面我们就在有向无环图的顶点上定义Sprague Grundy函数。 定义$mex$运算,表示最小的不属于这个集合的非负整数 如:$mex(\{
阅读全文
摘要:"题面" 题解 如果所有的字符串都有通配符,那么只要比较不含通配符的前缀和后缀就可以了。 否则一定有一个串没有通配符。找出这个字符串,然后将所有串与这个串匹配,通配符将$B$分成一段一段在$A$上匹配,然后越早出现越好,这里用$\mathrm{KMP, hash}$都可以 讲起来容易,但是写起来的话
阅读全文
摘要:"题面" 题解 图上的期望大部分是$dp$,无向图的期望大部分是高斯消元 设$f[i]$表示走到点$i$的期望,$d[i]$表示$i$的度,$to(i)$表示$i$能到达的点集 所以$f[i] = \sum\limits_{x \in to(i)} f[x] / d[x]$ 然后每个点能够列出这样的
阅读全文
摘要:"题面" 题解 $n \leq 9 \to$爆搜 对每一场的结果进行搜索,最后进行$\mathrm{check}$ 然后会发现没有什么分 搜索最重要的就是剪枝 接下来就列出一些剪枝 1. 搜索时,强制每个人的得分不超过总分 2. 如果一个人赢了所有的比赛也达不到总分,就直接退出 3. 设比赛的总分为
阅读全文
摘要:"题面" 题解 新建第$R + 1$层,将切点换成割边,然后就出现了最小割模型 然后从源点$S$向第一层的每个点连一条容量为$\infty$的边,从第$R + 1$层的每个点向汇点$T$连一条容量为$\infty$的边,这些边不会被割掉。 首先不考虑$D$的限制,从$(i, j, k) \to (i
阅读全文
摘要:"题面" 题解 这又是一种套路啊233 将$\sum a_i$和$\sum b_i$分别看做$x$和$y$,投射到平面直角坐标系中,于是就是找$xy$最小的点 于是可以先找出$x$最小的点$\mathrm{A}$和$y$最小的点$\mathrm{B}$,然后找到在$\mathrm{AB}$下方的最远
阅读全文
摘要:"题面" 题解 首先我们需要看懂题目 然后我们需要发现一个结论 只要有一个节点的权值确定,那么整棵树的权值就确定了 就像这样:(图片来源于网络,侵删) 然后我们根据这张图片,可以设$f[i] = a[i] \cdot \prod_f \mathrm{son}[f]$ 其中$f$是$i$的祖先,$\m
阅读全文
摘要:"题面" 题解 设$\{a_n\}$为差分数组,可以得到柿子: $$ \begin{aligned} ans &= \sum_{a_1 = 1} ^ m \sum_{a_2 = 1} ^ m \cdots \sum_{a_{k 1} = 1} ^ m (n \sum_{i = 1} ^ {k 1}
阅读全文
摘要:"题面" 话说 122怎么做啊 题解 我的$\mathrm{LCT}$水平极差,连最小生成树都快忘了,赶紧复习一下 做法和 "这篇" 是一样的 这道题还可以练习线段树分治 ~~还可以练习ETT~~ 果然是道吼题 代码 LCT 线段树分治 ~~咕咕咕~~
阅读全文
摘要:"题面" 题解 可以想到枚举成为最大前缀和的一部分的数 设$sum_i=\sum\limits_{j\in i}a[j]$ 设$f_i$表示满足$i$的 最大前缀和 等于$sum_i$的方案数 转移:对于$\forall k\notin i, sum_i 0$ 则有 $$ f_{i\cup\{k\}
阅读全文