bzoj4407】的更多相关文章

[BZOJ4407]于神之怒加强版(莫比乌斯反演) 题面 BZOJ 求: \[\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)^k\] 题解 根据惯用套路 把公约数提出来 \[\sum_{d=1}^nd^k\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d]\] 再提一次 \[\sum_{d=1}^nd^k\sum_{i=1}^{n/d}\sum_{j=1}^{m/d}[gcd(i,j)==1]\] 后面这个东西很显然可以数论分块+莫比乌斯反演做到\(O(\…
[BZOJ4407]于神之怒加强版 Description 给下N,M,K.求 Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. Output 如题 Sample Input 1 2 3 3 Sample Output 20 HINT 1<=N,M,K<=5000000,1<=T<=2000 题解:如何快速推出线性筛的递推式呢?——打表. 发现f(D)长得跟$\varp…
BZOJ挂了... 先把程序放上来,如果A了在写题解吧. #include<cstdio> #include<algorithm> #define N 5000010 #define ll long long #define mod (int)(1e9+7) using namespace std; inline int read() { ,f=;char ch=getchar(); ;ch=getchar();} +ch-';ch=getchar();} return x*f;…
4407: 于神之怒加强版 Time Limit: 80 Sec  Memory Limit: 512 MBSubmit: 241  Solved: 119[Submit][Status][Discuss] Description 给下N,M,K.求 Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. Output 如题 Sample Input 1 23 3 Sample Outpu…
Description 给下N,M,K.求 感觉好迷茫啊,很多变换看的一脸懵逼却又不知道去哪里学.一道题做一上午也是没谁了,, 首先按照套路反演化到最后应该是这个式子 $$ans = \sum_{d = 1}^n d^k \sum_{i = 1}^{\frac{n}{d}} \frac{n}{di} \frac{m}{di} \mu(i)$$ 这样就可以$O(n)$计算 继续往下推,考虑$\frac{n}{di} \frac{m}{di}$对答案的贡献 设$T = id$ $ans = \sum…
题解 非常裸的莫比乌斯反演. 但是反演完还需要快速计算一个积性函数(我直接用$nlogn$卷积被TLE了 推荐一个博客 我也不想再写一遍了 代码 #include<cstring> #include<cstdio> #include<algorithm> #define ll long long #define rd read() using namespace std; ; const int N = 5e6; int T, n, m, k; int mu[N], p…
#include<bits/stdc++.h> #define N 5000010 #define yql 1000000007 using namespace std; typedef long long ll; ],m[],maxn,vis[N],prime[N]; ,fac[N]; ll f[N],s[N]; inline int read(){ ,x=;char ch; ;}'); +ch-'); return f*x; } inline ll fpow(ll x,ll p){ x%=…
题目描述 给下N,M,K.求 输入 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. 输出 如题 样例输入 1 2 3 3 样例输出 20 题解 莫比乌斯反演+线性筛 $\sum\limits_{i=1}^n\sum\limits_{j=1}^m\gcd(i,j)^k\\=\sum\limits_{d=1}^{\min(n,m)}d^k\sum\limits_{i=1}^n\sum\limits…
http://www.lydsy.com/JudgeOnline/problem.php?id=4407 以前写过一次线性筛 发现不是很理解 写了个欧拉筛的 t了 其实每次推式子,都会先推出一组的解法,然后推出多组的 化简的方法大概是 先反演 然后把某个里层的sigma提出 然后有两种情况 1.复杂度可以了 那么就想把一个sigma用前缀和处理 2.还不可以那么重复刚才的过程 直到可以 欧拉筛…
#include<bits/stdc++.h> using namespace std; #define ll long long #define mod 1000000007 #define maxn 5000005 ll n,m,K; ll Pow(ll a,ll b){ ll res=; while(b){ )res=res*a%mod; b>>=;a=a*a%mod; } return res; } bool vis[maxn]; ll prime[maxn],G[maxn…
题面 题目分析 \[ \begin{split} \sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j)^k&=\sum\limits_{d=1}^nd^k\sum\limits_{i=1}^n\sum\limits_{j=1}^m[gcd(i,j)==d]\\ \end{split} \] 设\(f(x)\)表示\(gcd(i,j)=x\),\(g(x)\)表示\(gcd(i,j)==kx,k\in Z\). \[ \begin{split} g(x)&am…
题意 求$$\sum_1^n \sum_1^n \phi(gcd(i, j))$$ $T \leqslant 5000, N \leqslant 10^7$ Sol 延用BZOJ4407的做法 化到最后可以得到 $$\sum_{T = 1}^n \frac{n}{T} \frac{n}{T} \sum_{d \mid T}^n \phi(d) \mu(\frac{T}{d})$$ 后面的那个是积性函数,直接筛出来 注意这个函数比较特殊,筛的时候需要分几种情况讨论 1. $H(p) = p - 2…
首先感谢又强又嘴又可爱脸还筋道的国家集训队(Upd: WC2019 进候选队,CTS2019 不幸 rk6 退队)神仙瓜 ( jumpmelon ) 给我讲解这三种筛法~~ 由于博主的鸽子属性,这篇博客可能会无限期咕咕咕 线性筛 这种算法是比较基础的筛法,在入门时就已经学习用它来筛一定范围内的质数了,因此具体算法流程无需赘述.但在筛质数的基础上,这种算法由于其优越性质在处理数论函数时也被广泛应用.这里直接给出筛出小于 \(N\) 的质数的模板. void init() { for (int i…