摘要: 组队 问最少的队伍的人数最大值,典型的二分,唯一的难点在于如何 check 答案。 由于不能确定一个队几个人更优,所以先保证能组成人数最少的队伍(即一个队 mid 个人),并记录以能力值 \(a_i\) 结尾的队伍数量,用于判断“散户”能否成功入队。 数据处理上需要对原 \(a_i\) 数组进行离散 阅读全文
posted @ 2025-02-18 18:27 Maplisky 阅读(12) 评论(0) 推荐(0)
摘要: 时间管理大师 比较裸的二分。 二分答案,因为可以无缝切换,直接比较所需的充电电量和实际可以充的电量即可。 代码如下: #include <bits/stdc++.h> #define ll long long using namespace std; inline int read(); const 阅读全文
posted @ 2025-02-18 18:27 Maplisky 阅读(15) 评论(0) 推荐(0)
摘要: 麦田 题意即要求满足权值和小于等于 \(M\) 的矩形个数。 由于求矩形的权值和,必然要二位前缀和处理一下,然后考虑怎么计数。 最简单、暴力的方法肯定是枚举矩形的左上角和右下角,然后查看这中间的权值和。这样就是 \(\mathcal{O(n^4)}\),显然不能通过。 考虑优化,发现如果枚举左上角, 阅读全文
posted @ 2025-02-18 18:26 Maplisky 阅读(18) 评论(0) 推荐(0)
摘要: 沙滩拾贝 因为是二进制运算,所以直接考虑二进制位相关。 很容易发现肯定要尽可能保证高位为 1,如果答案中某一位为 1,那么至少要有 m 个数在这一位为 1,才有可能使答案在这一位为 1。 因此从高位到低位扫描,如果某一位存在大于等于 \(m\) 个数符合上述条件,那么把这一位不为 1 的数全部删去( 阅读全文
posted @ 2025-02-18 18:25 Maplisky 阅读(31) 评论(0) 推荐(0)