想学 powerful number 请直接去阅读 zzq 的博客,这篇只是用来水。 可能也是最后一篇博客了。 简介 利用 Powerful Number 可以求部分积性函数 \(F(x)\) 的前缀和。 我们可以构造一个积性函数 \(G(x)\),使得 \(x\) 为质数时 \(G(x)=F(x) ...
分类:
其他好文 时间:
2020-06-09 18:19:12
阅读次数:
67
树状数组 1. 算法分析 树状数组作用 单点修改 区间查询 区间修改(加上差分) 核心思想 把前n个数划分为log(n)个区间,分别维护这log(n)个区间的和,在求解前缀和Sn的时候,从求解n个数字的和变成求解log(n)个区间的和来加快运算 具体操作 维护log(n)个区间,每个区间用数组c来维 ...
分类:
编程语言 时间:
2020-06-09 16:13:22
阅读次数:
60
前缀与差分 1. 算法分析 1.1 前缀和 定义 s[n] = \(\sum_{i=1}^na[i]\) 递推关系 s[i] = a[i] + s[i - 1] 区间求和 \(\sum_{i=l}^ra[i] = s[r] - s[l - 1]\) 1.2 差分 定义 存在两个数组a(a1, a2, ...
分类:
其他好文 时间:
2020-06-08 10:50:06
阅读次数:
59
最近刷题倒是没停,但是感觉大部分遇到的不是很适合拿来水博客,毕竟方法套路比较相似。年兄推荐下做了两道前缀和的题,感觉这类题型的思路很棒,也可以归纳成一个方法,故再来水一篇。题目均来自力扣Leetcode,传送门。 简单来说,前缀和适合于解决 连续,求和 相关的问题。遇到的问题如果包含相关要求,可以考 ...
分类:
其他好文 时间:
2020-06-07 10:43:59
阅读次数:
93
题面 给定长度为$n$的序列$a$,求其$k$阶差分和前缀和。 对1004535809取模。 $1\leq n\leq 105, 1\leq k\leq 10{2333}$ 题解 我们发现可以算原序列中每一位对于最终结果的贡献是多少。 对于差分,我们记原序列中第$i$位上的数,对第$k$次差分之后的 ...
分类:
其他好文 时间:
2020-06-06 12:48:03
阅读次数:
63
基础算法戳这里 扩展一:二维前缀和 给定一个 $n \times m$ 的矩阵,有 $T$ 次询问,每次会给出四个数 $a,b,c,d$,求以点 $(a,b)$ 为左上角,点 $(c,d)$ 为右下角的矩形所有元素和。 $1 \le n,m \le 3000$,$1 \le T \le 10^6$。 ...
分类:
其他好文 时间:
2020-06-06 00:35:18
阅读次数:
67
J. Factorial Products 思路:根据对数性质:log(a*b) = log(a) + log(b),使得阶乘相乘转变为前缀和累加,处理了数据过大无法存储的问题。 #include <iostream> #include <cstdio> #include <algorithm> # ...
分类:
其他好文 时间:
2020-06-05 01:08:17
阅读次数:
77
团队训练(七)-- 前缀和基础 前言:感觉遇到一些题可以结合前缀和使用,降低时间复杂度,就找了比较基础的题目来练练,前三题基本就是概念,第四题结合了上次的二分,相对还是比较熟练,第五题加了点数学思维,卡了一下,重点是第五题读题懵逼了,第六题用到差分,知识点全部都见过,这次的题目相对找的比较容易吧。 ...
分类:
其他好文 时间:
2020-06-05 00:43:53
阅读次数:
57
Pinch Pinch Pinch 传送门 题意:给你一个整数N,定义一次操作为将这个数字切割为一个等差数列,如果有多种方案,只能选择元素最多的方式。切割之后的数据仍然能继续切割,但是每次只能选择一个元素进行切割,问最多能进行多少次操作? 题解:简单dp,首先需要考虑对于一个数字而言,切割得最多的方 ...
分类:
其他好文 时间:
2020-06-04 15:36:47
阅读次数:
162
min_25筛 作用及使用条件 可以得到积性函数的单点前缀和。时间复杂度为: \[ O(\frac{n^{3/4}}{\log n}+n^{1-\epsilon}) \] 由2018年某篇集训队论文证明。具体而言就是当$n$趋于无穷时,时间复杂度趋于$O(n)$。$n$较小时时间复杂度为前者。 使用 ...
分类:
其他好文 时间:
2020-06-03 17:21:52
阅读次数:
54