分治
WorldWide_D
这个作者很懒,什么都没留下…
展开
-
[51nod1348] 乘积之和
题目大意给定N个正整数,有Q个询问,每次询问给出一个k,求:从N个数中选出k个相乘,所有方案乘积的和模100003的值。N,Q≤50000,N个数范围是[1,10910^9]分析答案是要预处理的。 假如现在有n个数,现在要求取1——n个的答案,直接求不好求,如果把这n个数分成两部分,分别求出两部分的答案,可以发现,答案是可合并的,而且合并时是A[i]=∑ij=0B[j]∗C[i−j]A[i]=\s原创 2017-02-09 17:21:00 · 1562 阅读 · 0 评论 -
[bzoj4237]稻草人
题目大意给定n个点(横纵坐标是不大于10910^9的非负整数且两两x,y都不相同) 求有多少个矩形满足: 1. 边平行于横、纵轴 2. 左下角、右上角都是给定的点 3. 内部不包含其它点n≤200000分析如果枚举一个点作为右上角,那么枚举在它左下角的点,求多少个点可以满足条件。显然满足这些条件的点按横坐标排序后,纵坐标是严格下降的。直接维护这个单调队列显然不好做,可以考虑分治: 首先对所原创 2016-12-19 21:33:43 · 581 阅读 · 0 评论