Title

随笔分类 -  题解

摘要:前置知识 后缀数组; height 数组。 题目大意 给出一个字符串 s,每次查询 s 若干个后缀两两之间的 LCP 和,答案对 23333333333333333 取模。 解题思路 首先对于 s 求出 height 数组和 rank 数组,接下来我们可以对所有后缀在 s 阅读全文
posted @ 2024-01-17 21:43 UncleSam_Died 阅读(8) 评论(0) 推荐(0) 编辑
摘要:解题思路 因为要求 abx 的两个最大的因数(不包括本身),那么我们可以先找出 ab 的最小公倍数,然后和 b 比较,如果和 b 相同,那么我们再找到 ab 的最小的非 1 因数,和 b 相乘就是答案了。 AC 代码 #include< 阅读全文
posted @ 2023-12-31 10:00 UncleSam_Died 阅读(21) 评论(0) 推荐(0) 编辑
摘要:解题思路 一个很显然的结论: 当且仅当所有点的流量之和为 0 时,存在解。 在得出这个结论后,我们可以先计算出 i=1nsi 的值,然后判断一下是否为 0,如果不为 0,那么直接输出 Impossible 即可。 接下来讨论为 0 阅读全文
posted @ 2023-12-29 16:32 UncleSam_Died 阅读(8) 评论(0) 推荐(0) 编辑
摘要:解题思路 两个显然的结论: 将所有生物 hpidmgi 的值按照从大到小的顺序排序后,将正值部分全部进行 b 操作(如果可以的话),这样是最优的; 将所有的 a 操作全部在同一生物上进行是最优的,证明如下(假设只有两个,多个同样成立): 令 $f(i,x)=hp_i\times 2 阅读全文
posted @ 2023-12-27 18:11 UncleSam_Died 阅读(4) 评论(0) 推荐(0) 编辑
摘要:解题思路 其实题目翻译中已经给出一些提示了。 显然,对于式子 i=1nxi×tii=1nxi=T,我们稍加变形就可以得到 $\displays 阅读全文
posted @ 2023-12-25 19:39 UncleSam_Died 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目大意 两个环呈包含关系,每个环上的元素都不相同,两个环可以自由旋转,问怎么使得重合部分最多。 解题思路 显然,我们对于环 b 记录它的每一个元素最少需要转多少圈才会和 a 中的某一元素重合。然后依次枚举每一个可能旋转的位置,看一下有多少个 bi 可以重合。 AC 代码 #inclu 阅读全文
posted @ 2023-12-25 11:07 UncleSam_Died 阅读(34) 评论(0) 推荐(0) 编辑
摘要:解题思路 一个很显然的结论: 对于所有的 ai,一定存在一个数 2b,bZ,使得 aimod2b 有且仅有两个不同的值。 证明如下: 考虑将每个 ai 转化为二进制值,那么对于 2b 取模相当于保留后 b 位; 设第 i 个数第一 阅读全文
posted @ 2023-12-25 10:24 UncleSam_Died 阅读(27) 评论(0) 推荐(0) 编辑
摘要:解题思路 我们将题意转化一下: 求 s 的反转后的字符串的一个最长前缀,使其满足可以通过 s 得到。 显然,交换不会改变每种字符的数量。那么,我们先把 s 求出其中 0 的数量 s0,和 1 的数量 s1,然后将 s 每位反转(01),然后从第一位开始, 阅读全文
posted @ 2023-12-22 10:33 UncleSam_Died 阅读(10) 评论(0) 推荐(0) 编辑
摘要:解题思路 很简单的一道题,因为每个 A 只能向后移,每个 B 只能向前移,所以很容易想到,对于每一段连续的 A,直接往后移就是答案。但是因为每个坐标只能选择一次,那么,我们考虑用栈来维护这一过程: 如果当前位置上是 A 那么直接入栈; 如果当前位置上是 B 那么 ans=ans+tail,其中 阅读全文
posted @ 2023-12-01 11:45 UncleSam_Died 阅读(11) 评论(0) 推荐(1) 编辑
摘要:题目大意 已知有一个 nm 列的网格图,如下: 现在规定一条可行路为一个点集 p1,p2,,pk,其中,p1 为点 (1,1)pk 为点 (n,m),相邻的两个点 pipi+1 之间的距离为 1,我们规定两个点之间的距 阅读全文
posted @ 2023-11-24 10:57 UncleSam_Died 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目大意 已知有一个长度为 n 的正整数序列 a,现在你可以做若干次以下操作,使得 a 单调不下降: 选择一个 1in; 选择一个整数数 1x<ai; 将 ai 分成两个正整数 xaix 并重新插入序列中,插入规则如下: 设操作前 阅读全文
posted @ 2023-11-24 10:38 UncleSam_Died 阅读(7) 评论(0) 推荐(0) 编辑
摘要:解题思路 一眼丁真,模拟退火,那么具体怎么做呢,先来看看我们已经知道的结论: 因为每条线路与所乘坐的线路最多只有两个换乘点,因此可以知道,这些线路可以看作若干条曲线线段,由此,我们可以把题意转化一下: 已知有 n 条曲线与一条直线相交,这些曲线和直线没有重合的部分且交点处只有两条线,不存在封闭曲 阅读全文
posted @ 2023-11-15 21:36 UncleSam_Died 阅读(5) 评论(0) 推荐(0) 编辑
摘要:解题思路 考虑建图,很容易想到放置后的仙人掌需满足存在一条从第一列到第 m 列的路径,那么我们的最优答案就是一条从第 1 列到第 m 列的最短路,其中,到达一个已经有仙人掌的点花费 0 的代价,到达一个不存在仙人掌的点花费 1 的代价。我们可以使用双端队列 bfs,即边权为 $0 阅读全文
posted @ 2023-11-15 17:20 UncleSam_Died 阅读(9) 评论(0) 推荐(0) 编辑
摘要:蒟蒻的第一篇黑题题解。 题目描述 Link 解题思路 模拟退火,考虑每次随机交换两个 pi,然后计算当前情况下的排列的权值,如果比当前的最优解要优,那么直接更新即可,同时更新最优排列,否则的话,以一定的概率接受,但是不需要更新最优排列。然后就慢慢跑吧,蒟蒻实测跑 1 分钟可以获得 95 阅读全文
posted @ 2023-11-15 07:58 UncleSam_Died 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题目大意 告诉你一个由 A、B、C 三种字符组成的字符串 s,每次消除最左边的一个字符串 ABC,问最后剩下的字符串是什么。 解题思路 很简单的一道题,我们考虑用栈来维护。对于每个字符,如果是 A 或 B,那么直接进栈,否则的话,考虑当前栈顶的两个元素能否和当前的 C 共同构成一个字符串 ABC 阅读全文
posted @ 2023-11-12 16:01 UncleSam_Died 阅读(5) 评论(0) 推荐(0) 编辑
摘要:前言 一道很简单的模拟退火的水题,但是因为把 l 达成了 1 调了一下午…… 解题思路 显然,我们每次随机出一个可能的坐标,然后检验,如果更优,那么直接更新,否则按照一定概率判断是否作为一个可能的解更新。 一些注意事项 首先,记得开 double,因为坐标可能不是整数;其次,注意更新答案的时候, 阅读全文
posted @ 2023-11-09 19:43 UncleSam_Died 阅读(3) 评论(0) 推荐(0) 编辑
摘要:解题思路 显然,对于这些文件,我们可以考虑如果某一个文件夹内的所有文件都要删除,那么删除整个文件夹,否则的话,把其中需要删除的文件依次删除即可。 阅读全文
posted @ 2023-11-06 16:30 UncleSam_Died 阅读(1) 评论(0) 推荐(0) 编辑
摘要:解题思路 显然,对于每一个形如 BAAAA 和 AAAAB 的串,可以分别通过操作一和操作二消除,同时获得和 A 的长度相等的金币。 那么,我们可以先预处理出每一段连续的 A 的长度,统计与 A 相邻的 B 的个数,接着对于A 的连续段进行排序,即优先消除长度大的连续段。排序后依次消除,直到没有 A 阅读全文
posted @ 2023-11-05 16:58 UncleSam_Died 阅读(0) 评论(0) 推荐(0) 编辑
摘要:题目大意 本题共有 N 组测试数据。对于每组测试数据,首先一行读入一个整数 K,表示付费字符的数量,接下来 K 行每行一个字符和一个整数,表示该字符的价格,单位为美分,一美元为一百美分。接下来一个整数 M,表示文章的行数,接下来有 M 行字符串,构成一篇文章,请你算出整篇文章的价 阅读全文
posted @ 2023-11-05 14:48 UncleSam_Died 阅读(1) 评论(0) 推荐(0) 编辑
摘要:解题思路 一道简单的模拟题。步骤如下: 循坏读入 A、B 的牌; 将两人的牌转化为数字,并插入到一个双向队列中; 进行循环,进行游戏,直到平局、有一方赢了、一直玩下去。 对于循环内部,我们分为两个部分: 判断游戏结果并输出; 进行游戏。 其中的进行游戏部分,我们每次获取两人牌堆的头牌,并进行比较,如 阅读全文
posted @ 2023-11-04 17:48 UncleSam_Died 阅读(5) 评论(0) 推荐(0) 编辑

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