随笔分类 - __top-题解
摘要:题目链接 "BZOJ5322" 题解 意思就是使有序的排列尽量少 就是使相同的数尽量少 然后大力贪心即可 C++ include include include include include include define REP(i,n) for (register int i = 1; i (a
阅读全文
摘要:题目链接 "BZOJ5323" 题解 有一些数是不能被别的数筛掉的 这些数出现最晚的位置就是该排列的$t(p)$ 所以我们只需找出所有这些数,线性筛一下即可,设有$m$个 然后枚举最后的位置 $$ans = \sum\limits_{i = m}^{n} m!(n m)!{i 1 \choose m
阅读全文
摘要:题目链接 "BZOJ4567" 题解 题意真是鬼畜= = 意思就是说我们应先将一个串的所有后缀都插入之后再插入这个串,产生代价为其到上一个后缀的距离 我们翻转一下串,转化为前缀,就可以建$trie$树来解决了 建好$trie$后单独取出单词节点,贪心先往子树小的节点编号即可 C++ include
阅读全文
摘要:题目链接 "BZOJ4569" 题解 倍增的思想很棒 题目实际上就是每次让我们合并两个区间对应位置的数,最后的答案$ans = 9 \times 10^{tot 1}$,$tot$是联通块数,因为要去前导$0$,首位不为$0$即可 如何快速合并两个区间? 倍增! 每次合并两个区间,我们就利用倍增分成
阅读全文
摘要:题目链接 "BZOJ5011" 题解 一定只有我这种智障会用这么奇怪的方法做这道题。。 由题我们知道最后剩余的一定是一个区间,而且区间内的颜色不存在于区间外 所以我们的目的就是为了找到这样的区间的数量 区间由左右端点确定,我们枚举右端点,尝试维护左端点数量 当我们从右向左枚举到$r$,$r$右边的颜
阅读全文
摘要:题目链接 "BZOJ3242" 题解 题意很清楚,找一点使得最远点最近 如果是一棵树,就是直径中点 现在套上了一个环,我们把环单独拿出来 先求出环上每个点外向树直径更新答案,并同时求出环上每个点外向的最远距离$val[i]$ 首先要明白以下事实: ①删掉任意一条边不会使答案更优 ②环上存在一条边,使
阅读全文
摘要:题目链接 "BZOJ4035" 题解 神题啊。。。orz 不过网上题解好难看,数学推导不写$Latex$怎么看。。【~~Latex中毒晚期~~】 我们由题当然能很快写出$dp$方程 设$f[i]$表示从$u$出发逃离的期望步数,$m$为该点度数 $$ \begin{aligned} f[u] &=
阅读全文
摘要:题目链接 "BZOJ4418" 题解 题意:从一个序列上某一点开始沿一个方向走,走到头返回,每次走的步长各有概率,问走到一点的期望步数,或者无解 我们先将序列倍长形成循环序列,$n = (N 1) \times 2$ 按期望$dp$的套路,我们设$f[i]$为从$i$点出发到达终点的期望步数【一定要
阅读全文
摘要:题目链接 "BZOJ4008" 题解 要求所有牌造成伤害的期望,就是求每一张牌发动的概率$g[i]$ 我们发现一张牌能否发动,还与其前面的牌是否发动有关 那我们设$f[i][j]$表示前$i$张在$r$轮游戏中总共发动了$j$张的概率 那么 $$g "i] = \sum\limits_{j = 0}
阅读全文
摘要:题目链接 "BZOJ1559" 题解 考虑到这是一个包含子串的问题,而且子串非常少,我们考虑$AC$自动机上的状压$dp$ 设$f[i][j][s]$表示长度为$i$的串,匹配到了$AC$自动机$j$号节点,且已匹配集合为$s$的方案数 直接在$AC$自动机上转移即可 但是为了防止使用$last$指
阅读全文
摘要:题目链接 "BZOJ1558" 题解 等差数列,当然是差分一下 差分值相同的连续位置形成等差数列,我们所选的两个等差数列之间可以有一个位置舍弃 例如: $1 \; 2 \; 3 \; 6 \; 8 \; 10$ 差分后是 $1\; 1\; 3 \; 2\; 2$ 左边两个$1$形成等差,右边两个$2
阅读全文
摘要:题目链接 "BZOJ2257" 题解 由裴蜀定理我们知道,若干的瓶子如此倾倒最小能凑出的是其$gcd$ 现在我们需要求出$n$个瓶子中选出$K$个使$gcd$最大 每个数求出因数排序即可
阅读全文
摘要:题目链接 "BZOJ2729" 题解 高考数学题。。。 我们先把老师看做男生,女生插空站 如果两个老师相邻,我们把他们看做一个男生,女生插空站 对于$n$个男生$m$个女生的方案数: $$n!m!{n + 1 \choose m}$$ 还要特判一下没有男生女生的情况 然后高精即可
阅读全文
摘要:题目链接 "BZOJ1857" 题解 画画图就发现实际上是在$AB$上和$CD$上分别选两个点$E$,$F$,使得$t_{AE} + t_{EF} + t_{FD}$最小 然后猜想到当$E$固定时,这个值的函数关于$|CF|$是下凸的 当$F$总取最优时,关于$|AE|$也是下凸的 感觉十分的对 两
阅读全文
摘要:题目链接 "BZOJ2118" 题解 orz竟然是最短路 我们去$0$后取出最小的$a[i]$,记为$p$,然后考虑模$p$下的$B$ 一个数$i$能被凑出,那么$i + p$也能被凑出 所以我们只需找出最小的凑出$i$的代价 我们如果将同余下的和看作点,那么加上一个数就相当于在点间转移的边 所以我
阅读全文
摘要:题目链接 "BZOJ5340" 题解 我们能很容易维护每个人当前各种血量的概率 设$p[u][i]$表示$u$号人血量为$i$的概率 每次攻击的时候,讨论一下击中不击中即可转移 是$O(Qm^2)$的 现在考虑一下结界 如果我们设$f[u][i]$表示除了$u$还存活$i$个人的概率 那么 $$an
阅读全文
摘要:题目链接 "BZOJ5343" 题解 明显要二分一下美味度,然后用尽量少的价格去购买饮料,看看能否买到$L$升,然后看看能否控制价格在$g$内 尽量少的价格,就优先先选完便宜的饮料,由于询问的是一定美味度范围的,主席树上询问即可
阅读全文
摘要:题目链接 "BZOJ4869" 题解 这题调得我怀疑人生,,结果就是因为某些地方$sb$地忘了取模 前置题目: "BZOJ3884" 扩展欧拉定理: $$c^a \equiv c^{a \mod \varphi(p) + [a \ge p]p} \pmod p$$ 我们发现当我们进行$0$操作,就相
阅读全文
摘要:题目链接 "BZOJ2001" 题解 CDQ分治神题。。。 难想难写。。 比较朴素的思想是对于每个询问都求一遍$BST$,这样做显然会爆 考虑一下时间都浪费在了什么地方 我们每次求$BST$实际上就只有一条边不同,我们实际浪费了很多时间在处理相同的边上 那就考虑分治 对于一个待修改的边集,我们将其权
阅读全文
摘要:题目链接 "BZOJ3573" 题解 题目又臭又长系列 题意:修改尽量少的点权,使得: ①同个节点的所有儿子点权相同 ②任意非叶节点权值等于其儿子权值之和 容易发现一旦任意一个点权值确定,整棵树权值就确定 一个比较简单的想法是枚举根节点权值 但我们可以通过计算出每个节点如若保留原值,根节点会是什么值
阅读全文

浙公网安备 33010602011771号