随笔分类 - 前缀和
摘要:B. Ideal Point 思路 首先删除不包含点k的线段,因为这些线段对使 没有贡献 然后再考虑剩余的线段中覆盖得到的f(x)最大值是否唯一(由于前面的处理,所有线段均包含点k,如果最大值唯一的话,那么只能是k点),如果最大值不唯一的话就无论如何删除线段也无法满足要求(由
阅读全文
摘要:A. QAQ 法1 由于数据范围比较小,可以三层循环求解 法2 每一个A的下标存到数组v中,开个cnt数组记录每个位置前面有多少个'Q',利用前缀和可以求得范围内'Q'的数量 $$ ans = \sum_{i = 0}^{v.size()-1} cnt[i - 1] × (cnt[n] - cnt[
阅读全文
摘要:字符串查询 给你单词 S 和 Q 个询问。 每次询问,你会得到正整数 A,B,C 和 D。 我们令单词 X 由 S 的第 A 到 B 个字母组成,单词 Y 由 S 的第 C 到 D 个字母组成。 你需要回答,是否能够重新排列单词 Y 中的字母,得到单词 X。 输入格式 第一行一个单词 S,仅由小写字
阅读全文
摘要:F - 树状数组 2 原题链接 题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某区间每一个数加上 ; 求出某一个数的值。 输入格式 第一行包含两个整数 、 ,分别表示该数列数字的个数和操作的总个数。 第二行包含 个用空格分隔的整数,其中第 个数字表示数列第
阅读全文
摘要:E - 树状数组 1 原题链接 题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 求出某区间每一个数的和 输入格式 第一行包含两个正整数 ,分别表示该数列数字的个数和操作的总个数。 第二行包含 个用空格分隔的整数,其中第 个数字表示数列第 $i
阅读全文
摘要:A 小沙の好客 原题链接‘ 代码 点击查看代码 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<vector> #include<queue> usi
阅读全文
摘要:#J Tokitsukaze and Sum of MxAb 原题链接 题意 给出长为n的序列,对于所有的i,j求max 之和 思路 对于两个负数 和 ,max$(|a_i - a_j|,|a_i + a_j|) = -a_i -
阅读全文
摘要:k倍区间 给定一个长度为 的数列, ,如果其中一段连续的子序列 之和是 的倍数,我们就称这个区间 是 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N 行每
阅读全文
摘要:激光炸弹 地图上有 个目标,用整数 表示目标在地图上的位置,每个目标都有一个价值 。 注意:不同目标可能在同一位置。 现在有一种新型的激光炸弹,可以摧毁一个包含 个位置的正方形内的所有目标。 激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即
阅读全文
摘要:#子矩阵的和 输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 ,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数 n,m,q。 接下来 n 行,每行包含 m 个整数,表示整数矩阵。 接
阅读全文
摘要:前缀和 输入一个长度为 n 的整数序列。 接下来再输入 m 个询问,每个询问输入一对 l,r。 对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。 输入格式 第一行包含两个整数 n 和 m。 第二行包含 n 个整数,表示整数数列。 接下来 m 行,每行包含两个整数 l 和 r,表示一个询问
阅读全文