摘要: MX A. 小组作业 标签:二分。 还是太菜了,看不出来…… 题面 班级中共有 个同学,每个同学至多愿意做小组作业 \(a_i\) 次。 每次小组作业需要找出 \(k\) 个不同的人共同完成,请问整个班级至多可以做完成多少次小组作业。 分析 二分能完成的小组作业次数,然后 check。 check 阅读全文
posted @ 2025-09-16 19:50 yanbinmu 阅读(6) 评论(0) 推荐(0)
摘要: 分析 观察数据大小不难发现一个性质: 对于每一个阶段而言,可能的音量大小的个数不会超出 \(maxLeval = 5000\)。 而这启发我们用 set 维护计算到某一位得到的所有可能音量大小。 对于复杂度,我们每一次做的操作数最多为 set 大小,而操作数不超过 50,显然绰绰有余。 代码 #in 阅读全文
posted @ 2025-09-16 19:50 yanbinmu 阅读(4) 评论(0) 推荐(0)
摘要: 观察题目不难发现 \(1 \leq L \leq R \leq 10^{100}\) 。 这启发我们时间复杂度可能会和位数有关,否则就炸了…… 当然也有可能是个什么 \(\log\) 的…… 我们考虑如果按位枚举每一位的数,那么时间复杂度将是 \(O(\text{答案})\) 的。但是如果不考虑上下 阅读全文
posted @ 2025-09-16 19:49 yanbinmu 阅读(5) 评论(0) 推荐(0)
摘要: 其实不用推那么多,邻项交换放弃大脑。 我直接在 cmp 中比较两者两种排序的权值,取较小的一种即可。 我令前面的乘积是 \(s\),则: 如果不换,那么权值是 \(\displaystyle \max(\frac{s}{r_1}, \frac{s \times l_1}{r_2})\)。 如果换,那 阅读全文
posted @ 2025-09-16 19:48 yanbinmu 阅读(5) 评论(0) 推荐(0)
摘要: P8107 [Cnoi2021] 未来试题 分析 考虑概率的转移不方便,所以我们考虑方案数。 首先我们可以暴力枚举每一种排列,但是这道题好像没有这个部分分。 我们考虑是否可以进行动态规划。 对于一个 \(dp_i\) 我们发现我们要考虑两个内容: 有哪些可能的逆序对个数; 产生某一个逆序对个数的方案 阅读全文
posted @ 2025-09-16 19:48 yanbinmu 阅读(7) 评论(0) 推荐(0)
摘要: 目录 算法相关 \(\text{stl}\) 相关 (随时补充) 杂项 数学 1. 算法相关 1. 并查集 种类并查集处理关系时一定要考虑全面(比如天敌关系不成立有是同类和捕食两种情况)。 合并时要用根节点。 种类并查集空间开几倍。 带权并查集 px (father)不要和 x 写串。 合并一定要是 阅读全文
posted @ 2025-09-16 19:47 yanbinmu 阅读(5) 评论(0) 推荐(0)
摘要: 为了解决这个问题,我们需要找到一个最大的连通点集,使得每个点的度数至少为 d,并且该点集的导出子图是连通的。我们可以通过以下步骤来实现: 方法思路 预处理阶段:首先计算每个节点的度数,并将度数小于d的节点进行拓扑排序式的删除。这些节点及其边会被逐步移除,直到所有剩余节点的度数都不小于 d。 连通分量 阅读全文
posted @ 2025-09-16 19:45 yanbinmu 阅读(5) 评论(0) 推荐(0)
摘要: 分析 我们可以考虑将每个颜色分开处理,处理出每个颜色需要至少几个操作,使得整个区间被覆盖。 而这个我们可以使用类似时间戳的方法来维护。 如果两个操作都可以覆盖一个点,那我们显然优先用比较靠前的那个。 这启发我们,使用线段树,对于某个点,维护可以操作这个点的最小操作编号。 对于所有点,我们统计这个最小 阅读全文
posted @ 2025-09-16 19:45 yanbinmu 阅读(5) 评论(0) 推荐(0)
摘要: P12398 「FAOI-R9」决战黎明 题解 分析 我们可以将其弱化,先考虑只有一条战线的时候。对此,我们有两个比较显然的规律: 当我们有两个棋子时,用一个等级为两者之和的棋子会更好。 当我们定然无法击败某一个棋子时,我们用很多个等级为 1 的棋子去消耗它是最好的。 基于这两条,我们可以总结出一个 阅读全文
posted @ 2025-09-16 19:44 yanbinmu 阅读(4) 评论(0) 推荐(0)
摘要: 首先,看到这种和最小值有关的题,可以先想一下二分。 然后问题就转化为了有一个最大可行的携带数,看看能不能通过这个图,到达第 \(n\) 个点。 然后我们就不会了。这个携带电池不是一成不变的,所以我们生跑 bfs 是不对的。 我们考虑要达到一个什么状态,那显然是某个点到达最大的可能达到的携带电池数后再 阅读全文
posted @ 2025-09-16 19:44 yanbinmu 阅读(6) 评论(0) 推荐(0)
摘要: 考虑到我们的飞行器是单调不降的,那么我们的上下限也是单调不降的。 这样我们就可以递推出上下界。 但是有一个小细节,如果某一个位置我确定了要向上升一格,那么前面的一格就要预留出相应的空间,不能顶到原本的最大。 代码也不复杂。 #include <bits/stdc++.h> using namespa 阅读全文
posted @ 2025-09-16 19:44 yanbinmu 阅读(5) 评论(0) 推荐(0)
摘要: \[\sum_{i=1}^{2^{n}}\log_{2}{(\prod_{j = 1}^{i}lowbit(j))}\\ \iff \sum_{i=1}^{2^{n}}\sum_{j=1}^{i}\log_{2}{(lowbit(j))}\\ \]我们考虑拆贡献,每一个 \(\log_2(lowbi 阅读全文
posted @ 2025-09-16 19:43 yanbinmu 阅读(5) 评论(0) 推荐(0)
摘要: 首先我们有一个很显然的树形 DP。 令 f[u] 为根节点为 u 的子树内的方案数,然后更新就是对于子树求乘积,并乘上子节点数的阶乘。 然后我们可以考虑换根,这时候有一个很难搞的问题,就是我们换根是需要除法的,但是模数不是质数,当然,我们可以维护一个前后缀的答案,再把阶乘单独拿出来之类的,也可以实现 阅读全文
posted @ 2025-09-16 19:43 yanbinmu 阅读(10) 评论(0) 推荐(0)
摘要: P6532 [COCI 2015/2016 #1] TOPOVI 分析 如果一个点不可以被攻击,那么列异或和异或行异或和为 0。 即如果对于一行来看,如果这一行所有元素都异或上了 x,那么不可以被攻击到的点的个数就是异或和为 x 的列数。 那么如果加入修改,那么我们可以用 map 维护某一异或和对应 阅读全文
posted @ 2025-09-16 19:43 yanbinmu 阅读(3) 评论(0) 推荐(0)
摘要: 两天模拟赛挂分挂爽了。 笼统而言,是思维不够缜密,代码实现有误。 细节上没有注意到,比如 D1T1,D1T2,D2T1。 在 D1T4 出现的问题是未注意到一些小 Hint。 在 D2,T1 陷进了一个结论中,未能跳出来,导致在 T1 耗了很多时间。同时没有处理一些条件,这启示我们应该自己造一些极端 阅读全文
posted @ 2025-09-16 19:42 yanbinmu 阅读(22) 评论(0) 推荐(0)