[SOJ #112]Dirichlet 前缀和】的更多相关文章

题目大意:给定一个长度为$n$的序列$a_n$,需要求出一个序列$b_n$,满足:$$b_k=\sum\limits_{i|k}a_i$$$n\leqslant10^7$ 题解:$\mathrm{Dirichlet}$前缀和,考虑把$k$写成一个无穷向量$[\beta_1,\beta_2,\beta_3,\cdots]$,满足$k=\sum\limits_iP_i^{\beta_i}$,$P_i$为第$i$个质数.相同的,把$i$写成$[\alpha_1,\alpha_2,\alpha_3,\c…
[模板]Dirichlet 前缀和 求 \[B[i] = \sum_{d|i} A[d] \] $ n \le 2\times 10^{7} $ 看代码: for( int i = 1 ; i <= en && pri[i] <= n ; ++ i ) { for (int j = 1; j * pri[i] <= n; ++j) { B[j * pri[i]] += B[j]; } } 为啥这么做它是对的呢?发现每个数字会被它除以所有质因子转移到,并且是按照质因子从小到…
题意:给定数组a[]的生成方式,然后b[i]=∑a[j]  ,(i%j==0),求所有b[i]的异或和.所有运算%2^32; 思路:高维前缀和的思想,先筛出所有素数,然后把每个素数当成一维,那么分开考虑即可.复杂度O(NloglogN): 如果有这一维就加进去就可以了~神奇. #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace std; ; #define uint unsign…
题目 不是很明白为什么要叫做模板 考虑到\(a_i\)能对\(b_j\)产生贡献,当且仅当\(a_i=\prod p_k^{a_k},b_j=\prod p_k^{b_k},\forall k \ a_k\leq b_k\),于是我们把每一个质数次幂看成一维,相当于对\(a\)数组求一个高维前缀和 于是我们枚举每一个质数次幂,利用高维前缀和的方式来做就行了,复杂度同埃筛\(\operatorname{O(n\ log\ log\ n)}\) #include<bits/stdc++.h> #d…
题目戳我 \(\text{Solution:}\) 观察到一个\(a_i\)若对\(a_j\)有贡献,则必须\(i\)的所有质因子幂次小于等于\(j\)的质因子幂次. 于是,我们可以枚举质数的倍数并累加即可.其实就是把直接枚举每个数的倍数改为枚举质数的倍数,可以把\(O(n\log n)\)优化到\(O(n\log \log n).\) 注意:埃氏筛筛积性函数是可以做到\(O(n\log\log n)\)的(枚举质数的倍数),而直接枚举每一个数的倍数应该是\(O(n\log n)\)的. #in…
声明:博主不会时空穿越,也没有造成恐慌,不应禁赛三年 Day0 上午:打板子 Polya定理; exkmp; exbsgs; 乘法逆元; 矩阵快速幂; 扫描线; ST表; excrt; Dirichlet 前缀和; NTT 下午试机差评.电脑连不上NOI linux,技术人员过来说因为今天是云端测试,有些机子连不上.然后信息条被贴错地方了. Day1 8:25才进去.没人管我就2分钟写了个对拍命令程序.开考5分钟才得到正确密码差评. 先阅读题面.好像比较正常,先来T1,看到\(2^{64}-1\…
题目戳我 \(\text{Solution:}\) \[\sum_{i=1}^n \sum_{j=1}^n \rho(i)\rho(j)\rho(\gcd(i,j)) \] \[=\sum_{d=1}^n \rho(d)\sum_{i=1}^n \sum_{j=1}^n \rho(i)\rho(j)\rho(\gcd(i,j))[\gcd(i,j)=d] \] \[=\sum_{d=1}^n \rho(d)\sum_{i=1}^\frac{n}{d}\sum_{j=1}^\frac{n}{d}\…
收到美国那边同事carl的call说用户登录不上去了,不过2个礼拜前他还用的好好的,他给我发email了,他有急事需要处理麻烦我记尽快协助,他在email有截取错误信息: root@xxxxx:/home/nova# mysql -h xxxx.xx.xx-xx.xx.com-u omonroy -p Enterpassword: ERROR1045 (28000): Access denied for user 'omonroy'@'20.112.251.19' (using password…
[题目分析] Dirichlet积+莫比乌斯函数. 对于莫比乌斯函数直接筛出处理前缀和. 对于后面向下取整的部分,可以分成sqrt(n)+sqrt(m)部分分别计算 学习了一下线性筛法. 积性函数可以在O(n)的时间内算出. [代码] #include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <map> #include <set>…
http://www.cnblogs.com/LBSer/p/3310455.html http://blog.csdn.net/shixiaoguo90/article/details/25313717 MongoDB 中使用geohash  实现地理位置索引 引子 机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西.某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中一家用餐. 饭饱之后机机开始反思了,地图后台如何根据自己所在…