Loading

摘要: 我是magnus,一名来自湖南省的菜鸡oier 之后会在这里记录一些学习笔记和练习笔记。 我博客标题目难度 Water: 我喝口水就秒了没啥难度啊! Easy:我思考了一下,一次就AC了! Medium:自己想出但想了很久,没有一次AC。 Hard:不完全是自己想出。 +和-表示同档题的难度 My 阅读全文
posted @ 2025-12-14 23:11 MagnusSM2 阅读(33) 评论(0) 推荐(0)
摘要: 思路 第 \(K\) 小的和显然具有单调性:给一个阈值 \(x\),满足 \(A_i+B_j\le x\) 的对数只会随着 \(x\) 增大而增大,所以我们二分答案这个 \(x\) 即可。关键就是怎么写 check。 check 先把 \(B\) 排序。对每个 \(A_i\),令 \(t=x-A_i 阅读全文
posted @ 2026-02-27 20:22 MagnusSM2 阅读(15) 评论(0) 推荐(0)
摘要: 思路 两次二分,第一次二分最短的跳跃距离,第二次二分答案最短跳跃距离的最大值,两个值显然具有单调性并且题目保证不会出现两个一样的。但仔细思考之后可以只要一次二分+贪心的check就可以了。如果最短距离设为 x可行 \(移走 <= M 块\) ,那么设为比 x小的值一定也可行显然有单调性二分即可,贪心 阅读全文
posted @ 2026-02-27 15:06 MagnusSM2 阅读(8) 评论(0) 推荐(0)
摘要: 思路 最小的时间显然具有单调性并且严格递减,所以我们二分答案这个时间即可,我们要贪心怎么贪心呢就是尽可能的晒干湿度越高的衣服就可以了这样我们的时间复杂度是\(\Theta(n \log w)\)的。 实现 check是大概这么写的 auto ok = [&](ll X) -> bool { ll n 阅读全文
posted @ 2026-02-27 14:32 MagnusSM2 阅读(9) 评论(0) 推荐(0)
摘要: 思路 很明显的贪心+二分,具体就是尽可能的每天少吃,怎么用二分结合呢我们check一个x如果x小于了当天的起床时候的幸福值那么就直接睡觉否则就一直吃吃到大于等于如果全部吃完还不够那就失败了(题目里面虽然没有说但是数据点没有)这里的x就是我们的目标下界因为我们要最小值最大化所以我们期望的是让每一天的幸 阅读全文
posted @ 2026-02-27 10:36 MagnusSM2 阅读(11) 评论(0) 推荐(0)
摘要: 给定目标串 \(t\)(长度 \(m\))和 \(n\) 个字符串 \(a_0,a_1,\dots,a_{n-1}\)(每个长度 \(m\))。有两种操作: 操作 1:在同一字符串内交换两个位置,即交换 \(a_x[i]\) 与 \(a_x[j]\); 操作 2:在同一列跨两个字符串交换,即交换 \ 阅读全文
posted @ 2026-02-25 19:52 MagnusSM2 阅读(16) 评论(0) 推荐(0)
摘要: 整个过程只依赖每一位字符的奇偶性,所以我们先把输入统一成二进制串,再把它当二进制数计算。 设输入为长度 \(n\) 的字符串 \(s\),模数 \(M=10^9+7\)。定义 \[\text{temp}= \begin{cases} 0, & \text{若 } s_i\in{0,1}\ \fora 阅读全文
posted @ 2026-02-25 19:44 MagnusSM2 阅读(14) 评论(0) 推荐(0)
摘要: 第一眼感觉是是维护一个 hash 集合来存最终已经占用的值对每个数,如果冲突就不断加上 \(k\) 就可以了,直到变成没出现过的值再插入。 随机数据下这看起来可能挺快,但在最坏情况下第 \(i\) 次插入可能需要 \(\Theta(i)\) 次重试,于是总重试次数是 \(\Theta(n^2)\), 阅读全文
posted @ 2026-02-25 19:43 MagnusSM2 阅读(19) 评论(0) 推荐(0)
摘要: Preface After four hours of thinking, the rain didn’t feel like noise anymore—it felt like proof that time was still moving. I finished the last USACO 阅读全文
posted @ 2026-02-25 00:20 MagnusSM2 阅读(55) 评论(0) 推荐(0)
摘要: 考虑一个不带修改的版本。我们在树上做最大权匹配,使用经典的树形 DP。设 \(dp_0(u)\) 表示 \(u\) 不与父亲匹配时,\(u\) 子树内的最大权匹配; \(dp_1(u)\) 表示 \(u\) 与父亲匹配时,\(u\) 子树内的最大权匹配。 考虑 \(u\) 的所有子节点 \(v\)。 阅读全文
posted @ 2026-02-01 22:33 MagnusSM2 阅读(23) 评论(0) 推荐(0)
摘要: 按照题意模拟即可。 核心就是维护这个网格,每次修改之后只更新所有包含该点的 \(k\times k\) 子矩阵的元素和,并维护其最大值。 由于题目保证每次修改都是增加正整数,因此子矩阵和单调不减,最大值也只会变大,直接更新即可。 虽然说时间复杂度不是很优秀但是对于本题已经足够,时间复杂度是 \(O( 阅读全文
posted @ 2026-01-18 14:42 MagnusSM2 阅读(40) 评论(0) 推荐(0)