随笔分类 -  题解

摘要:闲话 Hack 数据确实比较毒瘤,但是怎么大家都是特判过的啊,那跟没有 Hack 有区别吗(气愤)。 因此本题解代码没有特判。 本人是 Hack 工单的提出者,自己手搓了两组 Hack,从讨论区和题解的评论区发现了 @zengziqvan 和 @Landscape_Jing 的 Hack。同时感谢 阅读全文
posted @ 2025-11-17 10:06 worker2011 阅读(15) 评论(0) 推荐(0)
摘要:闲话 板题,有一定码量和小细节(但是写起来很快,对称的复制粘贴即可),在这种只有 \(90\) 分钟的比赛中出这种题的组委会有点难评。 因此虽然思路简单,放个 T5 还是合适的。 题意 简要题意:有三个牛奶瓶 A、B、C,容积分别为 v,x,y 升,其中最开始 A 灌满了 v 升,B、C 没有牛奶。 阅读全文
posted @ 2025-08-29 12:21 worker2011 阅读(24) 评论(0) 推荐(0)
摘要:考场做法逆天,结果发现是正解…… 卡卡常(其实也没怎么卡)直接最优解榜一(查看时间:2025/08/12 09:08) 先说结论:令奇数位的 A 有 \(X\) 个,偶数位的 A 有 \(Y\) 个,那么如果 \(\left| X - Y \right|\) 是奇数那么无解,否则答案是 \(\dfr 阅读全文
posted @ 2025-08-26 20:42 worker2011 阅读(22) 评论(0) 推荐(0)
摘要:本文会带你保姆级推公式,应该是题解中推公式最详细的一篇才不是因为我数学和 OI 都太菜了,因而用到了大量 \(\KaTeX\) 公式,可能会加载较慢,请耐心等待。 挺逆天的一道数学题。 这个 \(f\) 函数有 \(3\) 个参数明显不好处理,那我们拿出做初一化简求值题的感觉直接化简: \[f(a, 阅读全文
posted @ 2025-08-17 10:37 worker2011 阅读(13) 评论(0) 推荐(0)
摘要:显然这个“11/22 Substring”是以那个“/”为中心对称的。鉴于一个这样的字符串只能有一个“/”,而题目又要求最长,所以确定了“/”就能确定一个满足要求的子串。 那思路就很简单了,只有两步: 找到所有的“/” 两边同时寻找相应的子串。 别的,除了判断一下越界之外,就不用管了。 ACCode 阅读全文
posted @ 2024-11-23 22:22 worker2011 阅读(47) 评论(0) 推荐(0)
摘要:笑点解析:这个人所在城市考试当天刮台风了,没考,免费送了一次 12 月的考试。 设计这么一个东西: \(dp_{i,j}\) 表示到格子 \((i, j)\) 的最大分数。 本来还好,但现在的问题是,如果这个格子是‘?’,我哪儿知道到底可不可以变啊?万一变得太多了,那,那不就废了!万一少了,那我分不 阅读全文
posted @ 2024-11-09 17:48 worker2011 阅读(122) 评论(0) 推荐(0)
摘要:很好的一道二分答案题。 听说 CSP 考前写 tj 可以让 rp += inf? 注:下文中 \(w\) 指物品重量序列,\(x\) 指箱子容量序列。 先问个问题:为什么我上来就敢肯定这是个二分答案题? 或者说,单调性在哪儿? 非常简单:如果一个盒子的容量越大,能装下的东西就更多(废话)。那么如果 阅读全文
posted @ 2024-10-20 18:07 worker2011 阅读(40) 评论(0) 推荐(0)
摘要:无耻的广告更好的阅读体验~ 最近在搞个人博客博客园的差点忘了更了。 已经沦落到在写这种水题题解了。 题目翻译 有 \(n\) 队人,每个队人数不同,把他们分成 2 组(同一队的不能拆开),使两组人数差距尽量小。 形式化题意:有 \(n\) 个数,把它们分成两组,使两组和的差尽量小。 说句闲话:感觉这 阅读全文
posted @ 2024-10-07 10:14 worker2011 阅读(72) 评论(0) 推荐(0)
摘要:说句闲话 并不会有更好的阅读体验。 这题是一个比较奇葩的贪心、构造。也可以认为是一个数据结构略有难度的练习题。 理论部分 ?> 注:使用 \(N\) 表示字符串长度。 一句段话题意:三个字符串 \(S\)、\(T\)、\(X\),其中 \(S\) 和 \(T\) 仅包含小写字母且等长,\(X\) 为 阅读全文
posted @ 2024-09-07 22:58 worker2011 阅读(61) 评论(0) 推荐(0)
摘要:前言:原来的 tj 干了一堆什么建图啊之类的,但其实不要这么复杂。 注:下文中 \(n\) 是各成员名字列表。 从 \(K = 1\) 开整。如果情况是 \(n_i < n_{i + 1}< \cdots < n_j\),那么显然,咱就不知道关于成员 \(n_i,\cdots,n_j\) 的相对资历 阅读全文
posted @ 2024-08-29 14:50 worker2011 阅读(141) 评论(0) 推荐(0)
摘要:注:为了方便,下文以 \(Sum\) 代表 \(\sum_{i = 1}^{n} A_i\)。 \(N = 2 \times 10^5\),考虑二分答案。 所以,答案有单调性吗?或者说,可以二分吗? 当然!如果 \(x = k\) 时可以满足条件,那么 \(x = k - 1\) 时显然只会更少(上 阅读全文
posted @ 2024-08-03 22:16 worker2011 阅读(101) 评论(0) 推荐(0)
摘要:闲着没事儿水篇 tj 题目大意 题目大意极其粗暴,记得 \(10^8 \times 10^8 = 10^{16} > 2^{31}-1\) 会爆 int,开 long long 就好。 于是这个题就变成了一个读入输出优化模板题。这不又回去了。 另外,输入输出常数优化也很常用,抢最优解和骗分时都可以用 阅读全文
posted @ 2024-07-30 08:54 worker2011 阅读(404) 评论(0) 推荐(1)
摘要:一句话题意:给定一个带点权的有权无向连通图,求点 1 到所有其它点的最短路径。 首先,只有 1 一个起点,所以是单源最短路,又因为最大是 \(2 \times 10^5\),所以是优先队列(堆)优化过后的 Dijkstra。 所以,我们只需要解决点权的问题就好了。一种显而易见的想法是把与这条边的边权 阅读全文
posted @ 2024-07-14 15:58 worker2011 阅读(144) 评论(0) 推荐(0)
摘要:很好写(15 min 解决)但不好讲(跟别人讲了 20 min)的写法 QwQ…… 首先,咱先算出原式的范围。最小值(暂且记为 \(k\))的公式就是: \[k = \sum_{i = 1}^{N} L_i \]就是每一个最小可能值的和。 同理,最大值(我记为 \(w\))的公式就是: \[w= \ 阅读全文
posted @ 2024-07-13 22:40 worker2011 阅读(137) 评论(0) 推荐(2)
摘要:题目 Link 考虑到老师不能砍树,所以最少补种树就是把剩下那二位的种树数补成最多的那位。 这里介绍个小语法: max({a, b, c}); max(max(a, b), c); 两行代码都是在求 \(a, b, c\) 的最大值,但是第二个是两两求,第一个是整体求,稍微方便一点。 ACCode 阅读全文
posted @ 2024-06-27 20:17 worker2011 阅读(85) 评论(0) 推荐(0)
摘要:题目 Link 先找规律,不难发现: \[\left\{\begin{aligned} 0 + 9 = 9\\ 1 + 8 = 9\\ 2 + 7 = 9\\ 3 + 6 = 9\\ 9 + 0 = 9\\ \end{aligned}\right. \]所以,对于最后一位的转换,只需要求出 \(9 阅读全文
posted @ 2024-06-26 21:03 worker2011 阅读(57) 评论(0) 推荐(0)
摘要:题目 Link 前情提要:这个题是栈的经典入门题。 关于栈的详细内容可以看 OI-Wiki,这里简单说一下。 其实栈(stack)就相当于一个桶,有两种操作:从顶上(top)往里边扔东西(push)和拿东西(pop),底部不允许操作(不然就漏了)。 这里就有 \(3\) 种操作了: top:用来获取 阅读全文
posted @ 2024-06-24 20:19 worker2011 阅读(93) 评论(0) 推荐(0)
摘要:提供一种快速做法(31ms)~ 首先,枚举是必须的,但是可以快速枚举。 优化 1: 众所周知 \(\gcd(a, b) \times \operatorname{lcm}(a, b) = a \times b\),所以我们只需要枚举 \(a\) 就好了。 优化 2:\(a\) 最大也只用到 \(\s 阅读全文
posted @ 2024-06-03 22:24 worker2011 阅读(129) 评论(0) 推荐(0)
摘要:其实,这个题,只需要最简单的枚举,加上最简单的二分查找即可~ \(1 \le N \le 1000\)?枚举吧~ 咋枚举?显然,最好状态下 Bessie 的位置一定是某个 \(p_i\),否则差一个就会导致有个奶牛要说谎。所以我们枚举(理论来讲要先去个重,这样快一点,不过貌似数据没有重的~)\(p_ 阅读全文
posted @ 2024-05-25 21:42 worker2011 阅读(62) 评论(0) 推荐(0)
摘要:看到大佬们基本都是直接输出 \(b\) \(c\) \(c\) 了事儿,一身反骨有其它构造方法的我表示不服,遂作此篇。 众所周知,两边之和大于第三边,所以,如果 \(b + c > d\),那么 \(b\)、\(c\)、\(d\) 就是正确的。那如果不满足呢?在题目条件下 \(b + c > b + 阅读全文
posted @ 2024-05-13 20:38 worker2011 阅读(20) 评论(0) 推荐(0)