04 2022 档案
摘要:01翻转 洛谷P3870 开关 inline void pushup(int p) { sm[p] = sm[lc] + sm[rc]; } inline void pushnow(int p, int l, int r) { sm[p] = r - l + 1 - sm[p]; rv[p] ^=
阅读全文
摘要:洛谷P4653 一句话题意:给两个长为 的 数组 , ,定义收益: 数组中选 个数放前面, 数组中选 个数放前面,收益为 \(min(\sum_{i= 1}^{x} a_i, \sum_{i=1
阅读全文
摘要:洛谷P2032 一句话题意:给一个长为 的序列,有一长为k的滑动窗口,从左往右滑,问每次窗口内的最大值。 ) 单调队列:一种队列,用于求递增区间 。具体来说,对定长区间求 ,每加入一个点
阅读全文
摘要:洛谷P1638 一句话题意:给一串长为n的整数序列 ,其中 , 求最短的区间能覆盖到1到m的所有取值 做法:首先求以n为右端点的最短覆盖区间,然后左端点往左移,右端点跟着往左移,直到再移不合法为止 怎么判断不合法呢? 用一个桶记录每个元素当前出现次数
阅读全文
摘要:洛谷P1102 一句话题意:给一串数和正整数 ,求串中 的数对个数 做法:排序,对每个 ,找upper_bound - lower_bound即是 的个数 #include<bits/stdc++.h> using na
阅读全文