http://acm.hdu.edu.cn/showproblem.php?pid=3581 题意: 数轴上给出n条线段,m个点,问任意两对点构成的线段被多少条线段包含 枚举给出的线段[x,y] 枚举被包含线段起点[第一个>=x的点,最后一个<=y的点] 被包含线段终点是最后一个<=y的点 差分前缀 ...
分类:
其他好文 时间:
2020-02-25 20:23:35
阅读次数:
56
【模板】Dirichlet 前缀和 求 $$ B[i] = \sum_{d|i} A[d] $$ $ n \le 2\times 10^{7} $ 看代码: 为啥这么做它是对的呢?发现每个数字会被它除以所有质因子转移到,并且是按照质因子从小到大来的。 所以这个代码相当于,对所有质因子递归求,然后对对 ...
分类:
其他好文 时间:
2020-02-24 14:41:41
阅读次数:
79
CodeForces - 626D 前缀和+概率cnt[i]表示差为i的数对的数量;sum[]为cnt的前缀和i表示第一回合的差,j表示第二回合的差,i+j小于第3回合,第三回合一共sum[5000]-sun[i+j],最后用组合公式算一下 #include <iostream> #include ...
分类:
其他好文 时间:
2020-02-23 23:51:52
阅读次数:
69
二分题目中通常有暗示: 最大值最小/最小值最大 (在最之间取平衡点) 最靠近某个值(类似) 最小的能满足条件的代价 ***寻找题目中具备的单调性,运用二分解决问题 聪明的质检员 https://www.luogu.org/problemnew/show/ P1314 二分+前缀和(通常区间求值)通过 ...
分类:
其他好文 时间:
2020-02-23 21:55:47
阅读次数:
71
所谓前缀和,就是在一行数字中,第i个数以及它前面所有数字的和,一般都是利用前缀和计算。生活中一些算数问题也通常用到了前缀和的思想, 下面是一个例子: 假设小A作为一个会计,老板让他统计最近十天的总收入,他将这最近十天的收入算好,老板又让他计算最近五天的 营业额,小A又拿起计算器敲敲敲,老板又问最近一 ...
分类:
其他好文 时间:
2020-02-22 09:47:38
阅读次数:
112
分治法的思想: 分治法的思想是分开求解然后合并。分治法的思想在很多算法中都广泛使用,例如二分查找,归并排序,快速排序。 分治法的主要步骤; 1、 划分问题:把问题分为子问题。 2、 递归求解:递归解决问题。 3、 合并问题:合并子问题得到原问题的解。 典型例题: 给出一个数组n的序列A1,A2, A ...
分类:
其他好文 时间:
2020-02-21 20:45:18
阅读次数:
69
"Link" 注意到合法的一对三角形一定存在一对内公切线。 那么我们得到了一个$O(n^3)$的做法:枚举一条公切线的两个端点,计算公切线左侧和右侧的点数并统计答案。 考虑优化,先固定公切线的一端,然后把另一端按照该公切线的极角排序,那么利用前缀和就可以做到$O(n^2\log n)$了。 ...
分类:
其他好文 时间:
2020-02-21 17:47:15
阅读次数:
87
杜教筛是用来求一类积性函数的前缀和,利用数论分块的思想来降低复杂度 假设我们现在要求 $S(n) = \sum_{i = 1}^n f(i)$ ,$f(i)$ 为积性函数, $n \leqslant 10^{12}$ ,假设有另一个积性函数 $g$。我们来求它们狄利克雷卷积的前缀和 $$ \begi ...
分类:
其他好文 时间:
2020-02-20 22:10:33
阅读次数:
79
考虑使用$kmp$的$nxt$数组。我们先枚举$i$(除了$1$和$n$),将其对应的$nxt$打上标记,这样就意味着我们确定了条件中的前缀和中间的串。 我们再考虑后缀。可以从$n$开始,用$nxt$一个一个地跳。因为$nxt$本身就保证末尾至少相同。而每个$nxt$都保证是最长的,故正确。 ...
分类:
其他好文 时间:
2020-02-20 20:33:26
阅读次数:
56
前缀和分一维前缀和和二维前缀和,前缀和可以帮我们快速统计一段范围内的合。 需要简单的理解 一维前缀和 —— 模板题 AcWing 795. 前缀和S[i] = a[1] + a[2] + ... a[i];a[l] + ... + a[r] = S[r] - S[l - 1]; 二维前缀和 —— 模 ...