上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 65 下一页
摘要: 与中位数有关的题二分答案是很常用的trick。二分答案之后,将所有大于它的看成1小于它的看成-1,那么只需要判断是否存在满足要求的一段和不小于0。 由于每个位置是1还是-1并不固定,似乎不是很好算。考虑暴力一点的想法:对于每一种答案预处理。这样查询就很好办了,线段树上每个区间维护最大前缀和后缀和及总 阅读全文
posted @ 2018-09-03 16:06 Gloid 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 将边权平均分到两顶点,按点权从大到小取即可。这样的话如果某人取到两点则获得边权,否则对两人均无影响,并且最后每条边都会处于其中的一种情况。假装证明了正确性。 阅读全文
posted @ 2018-09-03 01:58 Gloid 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 按价值从大到小考虑每个元素,维护一个线性基,如果向其中加入该元素的编号仍然构成线性基,则将其加入。 不会证明。当做线性基的一个性质吧。 阅读全文
posted @ 2018-09-02 19:06 Gloid 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 类似于平面最近点对,考虑分治,即分别计算分割线两侧的最小三角形再考虑跨过线的三角形。 复杂度证明也是类似的,对于某一个点,在另一侧可能与其构成最小三角形的点在一个d*d/2的矩形内(两边之和大于第三边),并且这些点所组成的三角形周长均不小于d。然而并不清楚这里至多会有多少个点,vfk曾说上界是16, 阅读全文
posted @ 2018-09-02 18:19 Gloid 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 显然可以dp。显然可以单调队列优化一下。 阅读全文
posted @ 2018-09-02 13:45 Gloid 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 一通套路之后得到 求出中间那个函数的前缀和的话就可以整除分块了。 暴力求的话复杂度其实很优秀了,大约在n~nlogn之间。 不过可以线性筛做到严格线性。考虑其最小质因子,如果是平方因子那么只有其有贡献,否则由于多了一个质因子,将函数值取反并加上该质因子贡献。 阅读全文
posted @ 2018-09-02 13:21 Gloid 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 显然可以状压dp。显然过不了。 考虑暴力模拟退火。每次随机改变一个数所属集合即可。 并不明白要怎么调参。 阅读全文
posted @ 2018-09-02 11:42 Gloid 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 如果能够知道不大于n的合法数有多少个,显然就可以二分答案了。 考虑怎么求这个。容易想到容斥,即枚举完全平方数。我们知道莫比乌斯函数就是此种容斥系数。筛出来就可以了。 注意二分时会爆int。 阅读全文
posted @ 2018-09-02 01:29 Gloid 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 大讨论。注意去重。 阅读全文
posted @ 2018-09-01 22:34 Gloid 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 考虑暴力,那么有f(n)=(f(n-1)*10digit+n)%m。注意到每次转移是类似的,考虑矩阵快速幂。首先对于位数不同的数字分开处理,显然这只有log种。然后就得到了f(n)=a·f(n-1)+b形式的递推式,可以矩阵快速幂。注意这里的b虽然是变化的,但每次变化量相同,给矩阵加一维就好了。 阅读全文
posted @ 2018-09-01 13:52 Gloid 阅读(158) 评论(0) 推荐(0) 编辑
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 65 下一页