10 2021 档案
摘要:预处理即可 我们要找的是 (f[i] - f[j]) % k == i - j 移项可得 f[i] - i = f[j] - j 在 i - j ⇐ k 的条件下 因此题目变成了,对于每个右端点,在它的左边 k - 1 个有多少个满足 f[i] - i = f[j] - j f[i] 是前缀和数组
阅读全文
摘要:首先把所有的牛排个序,优先按照起始时间 其次建立一个堆,重载小于号(只可以重载小于号),优先按照右端点的时间排序,大的放下面(sort的时候会放后面),堆顶是结束时间最快的 #include <iostream> #include <algorithm> #include <queue> using
阅读全文
摘要:思路 此题做法与LC 1755. 最接近目标值的子序列和类似 详情见这篇Blog 还是把数组分为两部分,分别用状态压缩进行枚举,然后对第二部分所凑成的值在第一部分中二分查找即可 AC_CODE #define fi first #define se second #define pb push_ba
阅读全文
摘要:题目描述 给你一个整数数组 nums 和一个目标值 goal 。 你需要从 nums 中选出一个子序列,使子序列元素总和最接近 goal 。也就是说,如果子序列元素和为 sum ,你需要 最小化绝对差 abs(sum - goal) 。 返回 abs(sum - goal) 可能的 最小值 。 注意
阅读全文
摘要:A #include <iostream> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; for(int i = 1; i <= 1000; i ++ ) { if(c * i >= a && c * i <=
阅读全文
摘要:掉分快乐qwq C题代码以及分析(在注释里) /* * @Author: Nan97 * @Date: 2021-10-04 22:37:18 * @Last Modified by: Nan97 * @Last Modified time: 2021-10-04 22:49:02 */ #incl
阅读全文