摘要: 题目大意:给定 N 个整数组成的集合,向集合中添加一个整数,使得这 N+1 个整数组成等差数列,求这样的整数有多少个。 题解: 引理1:若原集合中只有一个元素,则有无数种可能。 引理2:若原集合中有且仅有两个整数,则最多可能有 3 种答案。 引理3:若原集合已经能够组成等差数列,则只能在序列首尾添加 阅读全文
posted @ 2018-11-28 22:06 shellpicker 阅读(194) 评论(0) 推荐(0) 编辑
摘要: map支持以下功能: 1. size():查询 map 中的 key 的个数 2. empty():判空 3. clear():清空 4. insert()/erase():插入/删除 5. find(x):查找 key 为 x 的键值对,若不存在,返回末尾迭代器(时间复杂度为 $O(n logn) 阅读全文
posted @ 2018-11-28 21:59 shellpicker 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目大意:维护一个有 N 个元素的序列,支持以下操作:区间加,区间询问均值,区间询问方差。 题解:可知区间均值和区间和有关,即:维护区间和就等于维护了区间均值。区间方差表达式为 $$\frac{\Sigma_{i=1}^n(a[i] aver)^2}{n}$$,化简之后可知还需维护区间的平方和。 这 阅读全文
posted @ 2018-11-28 20:10 shellpicker 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个 N(N using namespace std; const int maxn=110; int n,ans=1,a[maxn]; void read_and_parse(){ scanf("%d",&n); for(int i=1;i 阅读全文
posted @ 2018-11-28 15:55 shellpicker 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定两个有 N 个数字的序列,从这两个序列中任取一个数相加,共有 $N^2$ 个和,求这些和中最小的 N 个。 题解:由于数据量是 10W,必须减少每次选取的决策集合中元素的个数。可以发现,将两个序列的元素排好序之后,固定 i 时,对于任意的 j define fi first defin 阅读全文
posted @ 2018-11-28 11:32 shellpicker 阅读(273) 评论(0) 推荐(0) 编辑