随笔分类 - 算法竞赛
CF/ABC/XCPC比赛的补题记录
摘要:932C 限时每日一题day11。这回是思路对了,但不会实现。看完讨论区后才发现这题有个很巧妙的地方,可以避免复杂维护。 不难想到对于所有选择的物品,一定是按照 的大小升序排列是最优的。此时 的贡献为: 。 将所有物品按
阅读全文
摘要:E 用 进行状态转移 因为相互包含的长回文串与短回文串的中心一定是相同的,可以想到从短回文串同时向两侧扩充相同字符,递推得到更长回文串的状态。而要求的是任意点对中的最短路,很容易想到用 ,只不过进行最短路转移时需要注意满足回文串性质。 初始状态有两种:单个点(\(len
阅读全文
摘要:936D 限时每日一题day10。由于今天做的第一题特别 ,于是直接又开了一道题,果不其然直接落败了qwq... 思路大致是对的——最优划分方式,划分决策都没什么问题。只是在一个地方卡住了(在注释中的感叹号位置)。具体细节见代码。 code
阅读全文
摘要:935F 限时每日一题day9。这次非常顺,可以说是秒了(如果每次都能这样就好了qwq...) 将蘑菇的价值 按照给定的排列 排序,那么要选 个蘑菇时,前 个蘑菇不能选,即等价于只能从第 个蘑菇开始选。 固定选择蘑菇的数量后,只能从
阅读全文
摘要:D 确定好需要维护的信息 由于操作2交换巢中的每个鸽子这一步看着很暴力,因此考虑换一种思路:交换两个巢,这样操作的复杂度是 的。 那么如何维护好信息呢?可以新加一种信息来构建鸽子与巢之间的关系——位置。因为位置是固定不变的,所以可以创建如下数组: :编号为
阅读全文
摘要:..I 限时每日一题day8。想法太简单了,没做出来纯属自己无能,应该想得更深入一些的。。。 只需要保证这一条关键性质就行:对于任意两个相邻的圆,某一个半径减小,则另一个圆一定增大等长的长度。若能注意到传递性,很容易能想到 圆之间的相邻关系 可以等价于 无向图中两个点用一条无向边相连,因此构建无向图
阅读全文
摘要:..C 限时每日一题day6。好久没有复习树的重心了,导致很显然的思路没有想出来。 官解中的两个思路都想到了个大概,但最后都没得到进展,还是有待提高思维的qwq... 解法1:注意到每一步合并必然是度数为1的结点向其邻点合并,否则整个图中 权值非0 的联通块会多于一个,显然最终不能合并到一起。(这一
阅读全文
摘要:..E1 限时每日一题day5。第二次成功,这次是一道个人认为很简单的 ,刚开始往组合计数方面想了导致浪费了些时间,应该能做得再快一点的。 可以发现第 天的方案与前 天的决策是没有任何关系的,数据范围又很小,因此很可以 。 设 \(dp[i][j]
阅读全文
摘要:edu163 C 限时每日一题day4。又一次失败了、、 这题是一道经验题,总结一下 “从中间分成一半,前后相同的字符串” 的性质: 若要找某个字符串的所有子串中上述类型字符串的最长长度,可以做到 (暴力是 ):先枚举长度,对固定长度的所有子串采用滑动
阅读全文
摘要:985 C 限时每日一题day3。这次没做出来,看完题解后感觉自己是sb。 二分答案 或者 ,参考官方题解。 tutorial code_二分 code_DP
阅读全文
摘要:prrblem 有个常规套路:每次选取一个后缀的物品,就可以保证选择的物品数量单调不降。因此将物品价值作后缀和处理,每次选取一个后缀的物品。 要满足“选取时间单调不降”的性质,可以对 数组这样处理:将所有时间取后缀最小值,得到一个单调不降的序列。按照这个序列与按照原序列选是等价的。 采用
阅读全文
摘要:949 C 限时每日一题day2。这一次做出来了,但时间花得有点多,再接再厉吧。 一个不难的构造题。 首先能发现 以任意两个非 的相邻两数为端点 形成区间的答案 与 其他位置的答案 是独立的,因此问题转化为给定两个正数 ,中间夹着若干个 ,能否正确填充。 将数
阅读全文
摘要:D 三分 & 反悔贪心 计算最大匹配数很简单,难点在于计算每种匹配数情况贡献的最大值。 贪心地想也能发现,对于每个集合,若固定选择线段的个数 ,最大贡献为: 这个可以用前缀和预处理出来,以做到对于某个给定匹
阅读全文
摘要:A 每次将当前 中以最左侧的连续一段 开头的后缀移动到 ,在 中留下这段 ,将剩下的后缀再移回 ,循环模拟即可。 code B 容易发现分数一定不会增加,只能尽可能保持不变。而题中还要在在分数最大情况下最小化数组长度,可以发现:只能删
阅读全文