随笔分类 -  题解

摘要:题面传送门 解决思路 搜索标签启发我们可以用 BFS 切掉这题。 用数组存储当前的状态,每次交换相邻的数得到新的状态,同时记录次数。当第二次找到目标状态时,就得到答案了。 考虑到可能多次得到相同答案但用的次数不同,不太好用标记剪枝(可能得不到答案),但由于本题数据较水,不优化也可以 阅读全文
posted @ 2022-10-03 13:43 Binary_Lee 阅读(26) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 首先可以发现,一段长度为 n+1 的连续相同字母合并所需的最小代价为 1×1+2×1+3×1+n×1(一个一个合并),构成了一个等差数列。 而当多段连续相同的字母组合在一起时,例如 $\text{aaaaacccy 阅读全文
posted @ 2022-10-03 10:48 Binary_Lee 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 讲一下 VP 时的思路。 首先想到,只要能将棋盘中红色或蓝色部分全部填成同一个数,那么剩下的就不会受限了(可行有两个,限制只有一个): 但考虑到交互库可能有点坑,比如第一个给了 1,你钦定了红色块全填 2,但后面他可能一直给 2 。这样的话,你只能 阅读全文
posted @ 2022-09-29 19:04 Binary_Lee 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 本题数据范围较小,可以使用模拟退火算法(随机化)。 顾名思义,模拟退火就是一个类似于降温的过程。先设置一个较大的初温,每次随机改变状态,若使答案更优,则采取更优答案,否则根据其与当前最优答案的差值,一定概率保留这个较不优的答案。这时为了防止答案陷入局部最优的情况: 比如下图,陷 阅读全文
posted @ 2022-09-29 19:04 Binary_Lee 阅读(33) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 题目中虽然说是无根树,但我们可以钦定这棵树的根为节点 1,方便构造,这是不 影响结果的。 以下记给定的三段长度为 a,b,c。 先考虑无解的情况。 首先,给出的三个距离,任意两者之和必须大于等于第三者,否则显然无解。 其次,用到的边数不能 n。 最后,两个节 阅读全文
posted @ 2022-09-29 19:03 Binary_Lee 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路: 首先考虑到,一个点最终的情况只有三种可能:不被染色,被行染色,被列染色。 若一个点同时被行、列染色多次,显示出的是最后一次被染色的结果。所以我们可以使用结构体,对每一行、每一列记录下其最后一次被染色的颜色和时间。因为同行或同列反复染只有最后一次有影响,所以后来的直接覆盖之前的 阅读全文
posted @ 2022-09-29 19:03 Binary_Lee 阅读(21) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 本题是找最长路的图上问题,所以先考虑如何建图。 首先把每一个字母转化为数字,然后对于每一个点枚举四个方向,如果有下一个字母,就向那个点建一条边,可以用 vector 存图比较方便。用数字标号,只需要判断 tx2,y2=(tx1,y1+1)mod4 是否成 阅读全文
posted @ 2022-09-29 19:03 Binary_Lee 阅读(35) 评论(0) 推荐(0) 编辑
摘要:题目传送门 位运算 设题目中序列 w_1,w_1 & w_2,w_1 & w_2 & w_3,\dots,w_1 & w_2 & \dots & w_n 为序列 A。 因为是数字一个一个 & 到之前的结果上,所以可以知道 A 序列单调不增。 ~~从给出的样例中发现,似乎没有答案超过 阅读全文
posted @ 2022-09-29 19:02 Binary_Lee 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题面传送门 好题。 主要思路和另一位巨佬差不多,详细讲一下判断的部分。 解决思路: 首先考虑本题与拓扑排序有和关系。可以想到,某些棍子的先后移动顺序是有限制的。比如: 这里红色的必须比蓝色的先移动,因为它们在 x 轴的投影有重叠,蓝色在上,会被红色卡住。 所以,棍子两两之间可能存在限制关系,这就 阅读全文
posted @ 2022-09-29 19:01 Binary_Lee 阅读(47) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路: DP 与拓扑结合。fi,j 表示到 i 位置 j 的最大次数。 将 az 转成数字 025 ,方便存储。 考虑转移。这一部分其他题解讲的很详细了,也很好理解。对于二十六个字母(j): 若是当前节点,则 $f_{tmp,j}= 阅读全文
posted @ 2022-09-29 08:29 Binary_Lee 阅读(37) 评论(0) 推荐(0) 编辑
摘要:题面传送门 其实这题根本不用搜索,有耐心即可。 可以发现,在 n×m 范围内扫,可能合法的只有以下四种情况,其中蓝色代表示是 *,红色表示不能是 *,其中黄色五角星表示当前 i,j 的位置。 所以只要把 * 标记为 1,全图扫一遍,发现合法就给它变 0,看最后有没有 $1 阅读全文
posted @ 2022-09-29 08:25 Binary_Lee 阅读(40) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 首先容易得知,两个字符串中 b(或 a) 的个数为偶数时,一定有解。为奇数则一定无解。 其次考虑怎么交换。对照样例三: in: 8 babbaabb abababaa out: 3 2 6 1 3 7 8 发现,每一对交换的字符有共同点: 要不是串一都为 a,串二都 阅读全文
posted @ 2022-09-29 08:25 Binary_Lee 阅读(30) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 首先,我们让 Megan 先走,因为他可以留下传送门。可以得知,不管怎么走,他到达终点所耗费的能量一定是 n+m2 。 然后,Stanley 走时就可以利用传送门。考虑怎样布置传送门可以使 Stanley 走的路最短。这时只要分情况讨论即可。若 mn,就会出现 阅读全文
posted @ 2022-09-29 08:24 Binary_Lee 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题面传送门 本蒟蒻想练习一下并查集,所以是找并查集标签来这里的。写题解加深理解。 解决思路 自然,看到区间修改之类很容易想到线段树,~~但本蒟蒻线段树会写挂~~,所以这里就讲比较简单的并查集思路。 并查集的核心是 find 函数。find 函数的目的是找到一个节点 阅读全文
posted @ 2022-09-29 08:24 Binary_Lee 阅读(21) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 看到 1018 的范围,我们可以想到二分答案。只要对于每一个二分出的答案进行 check ,如果可行就往比它小的半边找,不可行就往比它大的半边找。 以下是 check 的过程(以不可行返回 true 为例): bool check(long long x) 阅读全文
posted @ 2022-09-29 08:23 Binary_Lee 阅读(40) 评论(0) 推荐(0) 编辑
摘要:题面传送门 解决思路 首先我们可以得出,a & x = a & x & x。由此得知,同一个 a 反复 & x 是没有意义的。所以我们得到,答案仅可能是以下几种情况: ans=0 ,即有相同的数字,不需要操作。 $ans = 阅读全文
posted @ 2022-09-29 08:22 Binary_Lee 阅读(21) 评论(0) 推荐(0) 编辑
摘要:题面传送门 题目描述 有 n 个数 ai 请你从中至少选出一个数,使它们的乘积最大 解决思路 对于正数,对答案一定有贡献(正数越乘越大),所以输入正数时直接输出即可。 对于负数,如果负数的个数 f 是偶数,负负得正,可以全部输出。如果负数的个数 f 为奇数,那么就输出绝对值较大的 阅读全文
posted @ 2022-09-29 08:16 Binary_Lee 阅读(27) 评论(0) 推荐(0) 编辑

Title
点击右上角即可分享
微信分享提示