Galahad 魔女要测试骑士的能力,要求他维护一个长度为 n的序列,每次要询问一个区间的和。 但是魔女觉得太简单了,骑士能轻松记住 个数作为前缀和。 于是,魔女要求他回答一个区间的和,但如果某一个数在这个区间出现了多次,这个数只能被计算一次。 输入描述: 第一行两个整数 n,m表示数列长度和询问个 ...
分类:
其他好文 时间:
2020-12-21 12:01:19
阅读次数:
0
Numpy数组创建 np.array(list/tuple) # 接收一切序列型对象,如list列表、tuple元组等 数组 (array) 是相同类型的元素 (element) 的集合所组成数据结构 (data structure)。 numpy 数组中的元素用的最多是「数值型」元素 数组常见属性 ...
分类:
其他好文 时间:
2020-12-19 13:11:21
阅读次数:
2
https://codeforces.ml/problemset/problem/1343/D 差分: 对于每一对max+min=sum,当sum等于以下区间的值时需要改变的次数; [2,min]+=2; [max+k+1,2*k]+=2; [min+1,max+k]+=1; [max+min,ma ...
分类:
其他好文 时间:
2020-12-19 13:03:05
阅读次数:
2
1.功能介绍 vector底层就是一个数组,当你向该数组中添加元素不足时自动扩大。 2.常用命令 (1)vector a; 定义一个数据元素类型为 int 的 vector。类型可以为任何的基本类型,如 int、double、char、结构体、甚至vector,如二维vector a: vector ...
分类:
编程语言 时间:
2020-12-18 12:29:26
阅读次数:
2
考虑一个分治的做法:按行分治,将所有区间分为两类——经过分割线的、在左/右区间内部,后者显然可以递归下取,考虑前者 先求出出该行上每一列向上和向下的最大长度,记作$up_{i}$和$down_{i}$,然后枚举左端点$l$,找到最小的右端点$r$满足$r-l+1\le min_{i=l}^{r}up ...
分类:
其他好文 时间:
2020-12-17 12:32:27
阅读次数:
2
int cmp(const void*a, const void*b){ return (*(int**)a)[0] > (*(int**)b)[0]; } int** merge(int** intervals, int intervalsSize, int* intervalsColSize, ...
分类:
其他好文 时间:
2020-12-16 12:28:04
阅读次数:
3
顾名思义,素数筛就是用来筛素数的。。。 1.埃氏筛 O(nloglogn) 对于一般(不毒瘤)的素数题,埃氏筛就够了 原理:任何合数都有小于自身的质因数 内容:对于每一个素数将它的 2*i~i*i 全部标记为1,使得所有的合数全被标记 void prime(int x) { for(int i=2; ...
分类:
其他好文 时间:
2020-12-15 12:05:08
阅读次数:
1
ST表的功能很简单 它是解决RMQ问题(区间最值问题)的一种强有力的工具 它可以做到O(nlogn)预处理,O(1)查询最值 ST表是利用的是倍增的思想 拿最大值来说 我们用Max[i][j]表示,从i位置开始的2j个数中的最大值,例如Max[i][1]表示的是ii位置和i+1位置中两个数的最大值 ...
分类:
其他好文 时间:
2020-12-14 13:48:47
阅读次数:
3
标签 稳定排序、非原地排序、比较排序 基本思想 归并排序属于比较类非线性时间排序,号称比较类排序中性能最佳者,在数据中应用中较广。 归并排序是分治法(Divide and Conquer)的一个典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有 ...
分类:
编程语言 时间:
2020-12-14 13:39:09
阅读次数:
5
题意: 一个凸多边形和$m$个光源,问最少选择几个光源使得多边形所有边都被照亮 思路: 对于每个光源,处理出能照到的边,即为区间完全覆盖问题,但是区间是环形的,枚举起点处理 #include <bits/stdc++.h> using namespace std; typedef long long ...
分类:
其他好文 时间:
2020-12-10 11:38:18
阅读次数:
15