Loading

摘要: 思路 遇事不决先排个序。注意到如果要让所有人分得的糖果重量相等,那么糖更少的人需要的大糖更多。因每人分得糖果数量确定,所以总重量越大,每人需要的大糖数量就越多。为了让大糖总数最多,不妨给糖最少的人全分大糖,此时糖总重量就取到了上界。我们有了糖总重量,可以用二元一次方程组解出每个人需要的大糖数量,统计 阅读全文
posted @ 2025-12-12 22:23 Seqfrel 阅读(21) 评论(0) 推荐(1)
摘要: 思路 考虑什么情况下 \(S\) 为最终 \(R\) 的前缀。第一种情况, \(S\) 的长度小于一次翻转后 \(R\) 的长度,这时候我们就需要找包含末尾的回文串,相当于初始 \(R\) 在此串的回文中心处截止,一次翻转后,\(S\) 只截取到初始 \(R\) 的一部分回文。第二种情况,\(S\) 阅读全文
posted @ 2025-12-12 22:21 Seqfrel 阅读(15) 评论(0) 推荐(1)
摘要: 思路 首先不难想到,如果要取一个糖果两次,为了使花费最小,我们一定要取 \(x_i+y_i\) 最小的糖果。 然后是取一次的糖果,显然要取 \(x_i\) 最小的前若干个,所以先对 \(x_i\) 排序。 接着就有两种处理思路: 第一种,可以观察到花费随糖果数量增加而增加,因此我们可以二分糖果数量 阅读全文
posted @ 2025-12-12 22:19 Seqfrel 阅读(16) 评论(0) 推荐(1)
摘要: Luogu P3805 【模板】manacher 解决问题:字符串中最长回文子串。 解决方法:求出字符串中每个字符作为回文串中心时最长回文串长度。 朴素做法,对于每个字符向后枚举比较,时间复杂度 \(O(n^2)\)。 Manacher 算法提供一种优化策略,使得相同的回文串不被重复计算,时间复杂度 阅读全文
posted @ 2025-12-12 22:18 Seqfrel 阅读(6) 评论(0) 推荐(1)
摘要: CSP-J 2025 题解 拼数(number) 思路 维护一个桶,统计字符串中各数字的出现次数。按数字大小倒序输出对应数量个数字即可。 注意前导零的情况。 实现 #include<bits/stdc++.h> using namespace std; const int N=1e6+10; cha 阅读全文
posted @ 2025-12-12 22:13 Seqfrel 阅读(25) 评论(0) 推荐(1)
摘要: 一种数据结构。 一、队列基础 队列(queue)是一种线性表。这种表可以在一端加入元素(队尾),在另一端删除元素(队首)。 就像排队一样,先进入队列的元素一定会先出队。 最基本的队列支持以下几种操作: 在队尾加入元素 在队首删除元素 查询队首元素 查询队尾元素 队列的运算是受限的,一般不会访问队列中 阅读全文
posted @ 2025-12-11 22:32 Seqfrel 阅读(39) 评论(2) 推荐(1)