随笔分类 - 题解
摘要:解题思路 观察可以发现,我们在清零后进行第一种操作,得到的序列是单调不下降的,也就是说,在清零后,我们每两次操作最多可以获得 $1$ 分,设在 $q$ 次操作后清零,那么我们后面的操作最多可以得 $\displaystyle \frac{d-q}{2}$ 分。考虑清零前如何得分最大,观察数据范围可以
阅读全文
摘要:解题思路 因为要求 $a$,$b$ 是 $x$ 的两个最大的因数(不包括本身),那么我们可以先找出 $a$ 和 $b$ 的最小公倍数,然后和 $b$ 比较,如果和 $b$ 相同,那么我们再找到 $a$ 和 $b$ 的最小的非 $1$ 因数,和 $b$ 相乘就是答案了。 AC 代码 #include<
阅读全文
摘要:解题思路 一个很显然的结论: 当且仅当所有点的流量之和为 $0$ 时,存在解。 在得出这个结论后,我们可以先计算出 $\displaystyle \sum_{i=1}^n s_i$ 的值,然后判断一下是否为 $0$,如果不为 $0$,那么直接输出 Impossible 即可。 接下来讨论为 $0$
阅读全文
摘要:解题思路 两个显然的结论: 将所有生物 $hp_i-dmg_i$ 的值按照从大到小的顺序排序后,将正值部分全部进行 $b$ 操作(如果可以的话),这样是最优的; 将所有的 $a$ 操作全部在同一生物上进行是最优的,证明如下(假设只有两个,多个同样成立): 令 $f(i,x)=hp_i\times 2
阅读全文
摘要:解题思路 其实题目翻译中已经给出一些提示了。 显然,对于式子 $\displaystyle \frac{\displaystyle\sum_{i=1}^n x_i\times t_i}{\displaystyle \sum_{i=1}^n x_i}=T$,我们稍加变形就可以得到 $\displays
阅读全文
摘要:题目大意 两个环呈包含关系,每个环上的元素都不相同,两个环可以自由旋转,问怎么使得重合部分最多。 解题思路 显然,我们对于环 $b$ 记录它的每一个元素最少需要转多少圈才会和 $a$ 中的某一元素重合。然后依次枚举每一个可能旋转的位置,看一下有多少个 $b_i$ 可以重合。 AC 代码 #inclu
阅读全文
摘要:解题思路 一个很显然的结论: 对于所有的 $a_i$,一定存在一个数 $2^b,b\in \mathbb Z$,使得 $a_i\bmod 2^b$ 有且仅有两个不同的值。 证明如下: 考虑将每个 $a_i$ 转化为二进制值,那么对于 $2^b$ 取模相当于保留后 $b$ 位; 设第 $i$ 个数第一
阅读全文
摘要:解题思路 我们将题意转化一下: 求 $s$ 的反转后的字符串的一个最长前缀,使其满足可以通过 $s$ 得到。 显然,交换不会改变每种字符的数量。那么,我们先把 $s$ 求出其中 $0$ 的数量 $s0$,和 $1$ 的数量 $s1$,然后将 $s$ 每位反转($0$ 变 $1$),然后从第一位开始,
阅读全文
摘要:解题思路 很简单的一道题,因为每个 A 只能向后移,每个 B 只能向前移,所以很容易想到,对于每一段连续的 A,直接往后移就是答案。但是因为每个坐标只能选择一次,那么,我们考虑用栈来维护这一过程: 如果当前位置上是 A 那么直接入栈; 如果当前位置上是 B 那么 $ans=ans+tail$,其中
阅读全文
摘要:题目大意 已知有一个 $n$ 行 $m$ 列的网格图,如下: 现在规定一条可行路为一个点集 $p_1,p_2,\dots,p_k$,其中,$p_1$ 为点 $(1,1)$,$p_k$ 为点 $(n,m)$,相邻的两个点 $p_i$ 和 $p_{i+1}$ 之间的距离为 $1$,我们规定两个点之间的距
阅读全文
摘要:题目大意 已知有一个长度为 $n$ 的正整数序列 $a$,现在你可以做若干次以下操作,使得 $a$ 单调不下降: 选择一个 $1\le i\le n$; 选择一个整数数 $1\le x<a_i$; 将 $a_i$ 分成两个正整数 $x$ 和 $a_i-x$ 并重新插入序列中,插入规则如下: 设操作前
阅读全文
摘要:解题思路 一眼丁真,模拟退火,那么具体怎么做呢,先来看看我们已经知道的结论: 因为每条线路与所乘坐的线路最多只有两个换乘点,因此可以知道,这些线路可以看作若干条曲线线段,由此,我们可以把题意转化一下: 已知有 $n$ 条曲线与一条直线相交,这些曲线和直线没有重合的部分且交点处只有两条线,不存在封闭曲
阅读全文
摘要:解题思路 考虑建图,很容易想到放置后的仙人掌需满足存在一条从第一列到第 $m$ 列的路径,那么我们的最优答案就是一条从第 $1$ 列到第 $m$ 列的最短路,其中,到达一个已经有仙人掌的点花费 $0$ 的代价,到达一个不存在仙人掌的点花费 $1$ 的代价。我们可以使用双端队列 bfs,即边权为 $0
阅读全文
摘要:蒟蒻的第一篇黑题题解。 题目描述 Link 解题思路 模拟退火,考虑每次随机交换两个 $p_i$,然后计算当前情况下的排列的权值,如果比当前的最优解要优,那么直接更新即可,同时更新最优排列,否则的话,以一定的概率接受,但是不需要更新最优排列。然后就慢慢跑吧,蒟蒻实测跑 $1$ 分钟可以获得 $95$
阅读全文
摘要:题目大意 告诉你一个由 A、B、C 三种字符组成的字符串 $s$,每次消除最左边的一个字符串 ABC,问最后剩下的字符串是什么。 解题思路 很简单的一道题,我们考虑用栈来维护。对于每个字符,如果是 A 或 B,那么直接进栈,否则的话,考虑当前栈顶的两个元素能否和当前的 C 共同构成一个字符串 ABC
阅读全文
摘要:前言 一道很简单的模拟退火的水题,但是因为把 l 达成了 $1$ 调了一下午…… 解题思路 显然,我们每次随机出一个可能的坐标,然后检验,如果更优,那么直接更新,否则按照一定概率判断是否作为一个可能的解更新。 一些注意事项 首先,记得开 double,因为坐标可能不是整数;其次,注意更新答案的时候,
阅读全文
摘要:解题思路 显然,对于这些文件,我们可以考虑如果某一个文件夹内的所有文件都要删除,那么删除整个文件夹,否则的话,把其中需要删除的文件依次删除即可。
阅读全文
摘要:解题思路 显然,对于每一个形如 BAAAA 和 AAAAB 的串,可以分别通过操作一和操作二消除,同时获得和 A 的长度相等的金币。 那么,我们可以先预处理出每一段连续的 A 的长度,统计与 A 相邻的 B 的个数,接着对于A 的连续段进行排序,即优先消除长度大的连续段。排序后依次消除,直到没有 A
阅读全文
摘要:题目大意 本题共有 $N$ 组测试数据。对于每组测试数据,首先一行读入一个整数 $K$,表示付费字符的数量,接下来 $K$ 行每行一个字符和一个整数,表示该字符的价格,单位为美分,一美元为一百美分。接下来一个整数 $M$,表示文章的行数,接下来有 $M$ 行字符串,构成一篇文章,请你算出整篇文章的价
阅读全文
摘要:解题思路 一道简单的模拟题。步骤如下: 循坏读入 A、B 的牌; 将两人的牌转化为数字,并插入到一个双向队列中; 进行循环,进行游戏,直到平局、有一方赢了、一直玩下去。 对于循环内部,我们分为两个部分: 判断游戏结果并输出; 进行游戏。 其中的进行游戏部分,我们每次获取两人牌堆的头牌,并进行比较,如
阅读全文

浙公网安备 33010602011771号