题目链接 题目大意 要你一构造一个长度为$n$的只包含$b,r$字符的串,使得子串中$r$的数量为奇数的最多 题目思路 问的qls,确实有点秒 把字符r设为1,b设为0,那么子串中r的数量就是前缀和之差,即前缀和差为奇数 那么n+1个前缀和里,奇数和偶数的个数应该尽可能相近,即前缀的奇数偶数各分一半 ...
分类:
其他好文 时间:
2021-07-26 16:32:53
阅读次数:
0
这个题很明显的二分枚举,但是还有一个前缀和有点坑人。 这题题其实点不多,就两个关键点。 二分的判断 可以看到:在W取0时,所有的区间内的矿石都可以选上,而在W大于最大的质量时,所有的矿石都选不上。 然后简单算一下就发现:W越大,矿石选的越少,W越小,矿石选的越多。 所以,随着W增大,Y值减小。 所以 ...
分类:
其他好文 时间:
2021-07-19 16:34:37
阅读次数:
0
给定 \(2\times n\) 的矩阵 \(t\),求最多能切分出多少个和为 \(0\) 的连续子矩阵。 \(n\le 3\cdot 10^5\),\(|t_{i,j}|\le 10^9\)。 朴素的想法是按列 dp,设 \(f_{i,j}\) 表示只考虑第一行前 \(i\) 格和第二行前 \(j ...
分类:
其他好文 时间:
2021-06-28 19:06:56
阅读次数:
0
Solution lca+前缀和 快读不要忘写c= 复杂度 \(O(nk)\) Code #include<iostream> #include<cstdio> #include<cstdlib> #define ll long long using namespace std; const int ...
分类:
其他好文 时间:
2021-06-21 19:59:39
阅读次数:
0
最近做题发现自己并不知道什么时候该用树套树,就来总结一下 一、静态整体kth 排序输出 sort(a+1,a+n+1); printf("%d\n",a[k]); 时间复杂度O(nlogn) 空间复杂度O(n) 二、动态整体kth 权值线段树+二分 查询时先查询左子树和sum,比较k和sum的大小: ...
分类:
其他好文 时间:
2021-06-13 10:21:17
阅读次数:
0
这题非常类似 P1972 [SDOI2009]HH的项链,这是数颜色的题目的常见套路。 首先,出现偶数次的数的异或和 转化为 所有数的异或和 与 所有不重复数的异或和 的异或和。 前者是前缀和可以搞定的,后者就是区间数颜色的做法。先处理出每个点的颜色上一次出现位置 \(pre\)。离线询问,按右端点 ...
分类:
其他好文 时间:
2021-06-13 09:35:49
阅读次数:
0
壹 ? 引 题目来自LeetCode的525. 连续数组,难度中等,题目描述如下: 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 输入: nums = [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 ...
分类:
编程语言 时间:
2021-06-07 20:09:50
阅读次数:
0
时间复杂度:o(logn) 支持: 1.单点修改 2.区间查询:查询一个区间内所有元素的和 对 进行区间查询只需查询 和 然后相减即可(前缀和就是这样进行区间查询的),所以我们可以把区间查询问题转化为求前n项和的问题。 可以用一个数组 维护若干个小区间,单点修改时,只更新包含这一元素的区间;求前n项 ...
分类:
编程语言 时间:
2021-06-06 19:25:12
阅读次数:
0
题目:523.连续的子数组和 难度:中等 题面: 给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令 ...
分类:
编程语言 时间:
2021-06-04 19:10:42
阅读次数:
0
思路: 这道题,我一开始想用栈存0,然后遇到1就取出来一个0,同时计数,但是这样就有个问题,有可能中间有多个0,后面有多个1只能匹配中间的一部分0,导致得到的子数组不是连续的。 然后就没办法了... 去看题解,当我把0改为-1,那就可以通过前缀和来实现了。这里多提一下前缀和的简单定义吧,前缀和本质是 ...
分类:
编程语言 时间:
2021-06-04 18:55:23
阅读次数:
0