摘要: 题目大意: 给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。 题解:从中位数向左右扫,小于b减一,大于b加一。让左右两边之和为0就是一个合法的连续子序列,开了个map。 代码: 阅读全文
posted @ 2018-04-07 20:14 ~Silent 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 问树上有多少对点他们的距离小于等于k。 题解:点分治。 代码: 阅读全文
posted @ 2018-04-07 16:47 ~Silent 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求树上所有路径中的前k长路。 题解: 我们把这棵树的点分治序处理出来。假设我们确定了一个分治中心下的一条链,我们需要找到另一条链使得两条加起来最大。 那么另外一条可行链的端点在点分治序上一定形成一段区间。然后就变成了对于一个右端点都有一段可行的左端点,要求两点权值和最大。 之后就变成了B 阅读全文
posted @ 2018-04-07 14:29 ~Silent 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 一个区间的价值为区间内所有数的和。 求序列中长度在L至R的区间中价值前k大的区间的价值和。 题解: 一个区间价值用s[r]-s[l]来表示,s为前缀和。假设固定了右端点,则可以通过st表来确定左端点的最优位置。对于所有的右端点,我们将他们扔进堆里就能找出最大值来。 然后对于一个右端点确定 阅读全文
posted @ 2018-04-07 13:26 ~Silent 阅读(173) 评论(0) 推荐(0) 编辑
Live2D