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] ^= 阅读全文
posted @ 2022-04-22 21:38 Faker_yu 阅读(25) 评论(0) 推荐(0) 编辑
摘要:洛谷P1496 火烧赤壁 求数轴上n条线段的并。n2×104,231l,r231 做法 : 基于暴力的做法:每条线段往桶里加。 再加上两个小技巧。 第一个常用技巧是差分,即对于连续的中间无询问的一些修改,可 阅读全文
posted @ 2022-04-16 09:42 Faker_yu 阅读(38) 评论(0) 推荐(0) 编辑
摘要:洛谷P4653 一句话题意:给两个长为 ndouble 数组 a , b ,定义收益: a 数组中选 x 个数放前面, b 数组中选 y 个数放前面,收益为 \(min(\sum_{i= 1}^{x} a_i, \sum_{i=1 阅读全文
posted @ 2022-04-09 15:41 Faker_yu 阅读(60) 评论(0) 推荐(0) 编辑
摘要:洛谷P2032 一句话题意:给一个长为 n 的序列,有一长为k的滑动窗口,从左往右滑,问每次窗口内的最大值。 (1n2×106) 单调队列:一种队列,用于求递增区间 min,max 。具体来说,对定长区间求 max ,每加入一个点 阅读全文
posted @ 2022-04-09 14:30 Faker_yu 阅读(25) 评论(0) 推荐(0) 编辑
摘要:洛谷P4147 一句话题意:给一个 n×m. 矩阵,求全是 . 的矩阵的个数 (1n,m103) 做法:设 hi,j 表示 i,j 一直向上走直到走不通的距离, li,j 表示 \(i, 阅读全文
posted @ 2022-04-09 14:21 Faker_yu 阅读(31) 评论(0) 推荐(0) 编辑
摘要:洛谷P4147 2 做法:设 li,j 表示 i,j 一直往左走直到走不通的 F 的纵坐标, ri,j 表示 i,j 一直往右走直到走不通的 F 的纵坐标, hi,j 表示 i,j 一直向上走直 大小到走不通的距在1 阅读全文
posted @ 2022-04-09 11:30 Faker_yu 阅读(18) 评论(0) 推荐(0) 编辑
摘要:洛谷P7072 一句话题意:给定 正整数 w[1,99] ,向空队列中不断加数,设当前有 n 个数,每次加完求第 n×w% 大的数是多少。 (1n1e5) 做法:看起来是求区间第 \(k\ 阅读全文
posted @ 2022-04-09 10:54 Faker_yu 阅读(30) 评论(0) 推荐(0) 编辑
摘要:洛谷P1115 最大子段和求法: 设 fi 为以 i 为结尾的最大子段和,若 fi1 为负,则 fi=ai ,否则 fi=fi1+ai 。这显然是正确的 #include<bits/stdc++.h> using 阅读全文
posted @ 2022-04-09 10:15 Faker_yu 阅读(43) 评论(0) 推荐(0) 编辑
摘要:洛谷P1638 一句话题意:给一串长为n的整数序列 ai,其中 ai[1,m] , 求最短的区间能覆盖到1到m的所有取值 做法:首先求以n为右端点的最短覆盖区间,然后左端点往左移,右端点跟着往左移,直到再移不合法为止 怎么判断不合法呢? 用一个桶记录每个元素当前出现次数 阅读全文
posted @ 2022-04-09 10:09 Faker_yu 阅读(28) 评论(1) 推荐(0) 编辑
摘要:洛谷P1102 一句话题意:给一串数和正整数 C ,求串中 AB=C 的数对个数 做法:排序,对每个 ai ,找upper_bound - lower_bound即是 aiC 的个数 #include<bits/stdc++.h> using na 阅读全文
posted @ 2022-04-09 09:52 Faker_yu 阅读(34) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示