摘要: 题目大意:在一个长度为$n$的环型序列中取出$m$个数使这$m$个数的和最大,且要求这$m$个数互不相邻。 考虑维护$nxt$和$lst$,即一个数的前驱和后继。如果此数被选中,那么$a[now]=a[lst]+a[nxt]-a[now]$并且更新前驱和后继,再将更新过后的数扔入堆中。 即反悔机制。 阅读全文
posted @ 2020-05-01 21:29 我亦如此向往 阅读(298) 评论(0) 推荐(1) 编辑
摘要: 题目大意:质数序列是指这个序列中任意两个数的和均为质数。先给出一个序列${a_{n}}$,从中取出元素构成最长质数序列,问其长度并输出序列。若长度相同则求和最大的序列。保证答案唯一。 小小的数学题。 1.偶数+偶数不是质数,奇数+奇数不是质数。但某些偶数+奇数($1$)是质数。所以这个序列中$1$是 阅读全文
posted @ 2020-05-01 21:23 我亦如此向往 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 考虑三种情况: 1.从左端点开始,是否要跨越。 2.从右端点开始,是否要跨越。 3.从中间开始,向两边延伸。 代码: void pushup(int index) { tree[index].s=tree[index*2].s+tree[index*2+1].s; tree[index].ls=ma 阅读全文
posted @ 2020-05-01 08:47 我亦如此向往 阅读(148) 评论(0) 推荐(0) 编辑