K Sum

终于过了这玩意啊啊啊====

莫比乌斯反演,杜教筛,各种分块,积性函数怎么线性递推还很迷==,得继续研究研究

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define maxn 1000000+10
int P[maxn],g[maxn];
bool vis[maxn]; unordered_map<int,int> mp;
int T,n,k;
const int mod =(1e9+);
int cnt=;
void init()
{
g[]=;
for(int i=;i<maxn;i++){
g[i]=;
}
for(int i=; i<maxn; i++)
{
//g[i]=1;
if(!vis[i])
{
P[cnt++]=i;
g[i]=(i*i-)%mod;
}
for(int j=; j<cnt&&(P[j]*i)<maxn; j++)
{
vis[i*P[j]]=;
g[P[j]*i]=(g[P[j]]*g[i]%mod);
if(i%P[j]==)
{
g[P[j]*i]=(g[i]*(P[j]*P[j])%mod)%mod;
break;
} }
}
for(int i=; i<maxn; i++)
{
g[i]=(g[i]+g[i-]+mod)%mod;
}
}
int qp(int x,int n)
{
int ans=; while(n)
{
if(n&)
{
ans=(ans*x)%mod;
}
x=(x*x)%mod;
n>>=;
}
return ans%mod;
}
int _k;
int Sum(int x,int n)
{
if(x==)
{
return (_k-+mod)%mod;
}
else
{
return (((x*(qp(x,n)-+mod)%mod)%mod*qp((x-)%mod,mod-)%mod)%mod-x+mod)%mod;
}
}
int Sum2(int n)
{
int ans=qp(,mod-);
ans=(ans*((n*(n+)%mod)%mod*(*n%mod+)%mod)%mod)%mod;
return ans;
}
int G(int n)
{
int ans=;
int r;
for(int i=; i<=n; i=r+)
{
r=n/(n/i);
int x=n/i;
if(x<maxn)
{
ans=(ans+g[x]*(r-i+))%mod;
}
else if(mp[x])
{
ans=(ans+mp[x]*(r-i+))%mod;
}
else ans=(ans+G(x)*(r-i+))%mod;
} mp[n]=(Sum2(n)-ans+mod)%mod;
return mp[n];
}
int cal(int x)
{
if(x<maxn)return g[x];
if(mp[x])return mp[x];
return G(x);
}
char s[maxn];
signed main()
{
init();
int ans=;
scanf("%lld",&T);
//string s;
while(T--)
{
ans=;
scanf("%lld",&n);
scanf("%s",s);
k=;
_k=;
int _n=strlen(s);
for(int i=; i<_n; i++)
{
_k=(_k*+s[i]-'')%(mod);
k=((k*)+s[i]-'')%(mod-);
}
int r; for(int i=; i<=n; i=r+) ///i
{
r=n/(n/i);
ans=(ans+((Sum((n/i),k))%mod*(cal(r)-cal(i-)+mod)%mod)%mod)%mod;
}
cout<<ans<<'\n';
} }

南京网络赛 E K Sum的更多相关文章

  1. HDU 4750 Count The Pairs (2013南京网络赛1003题,并查集)

    Count The Pairs Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others ...

  2. 2018ICPC南京网络赛

    2018ICPC南京网络赛 A. An Olympian Math Problem 题目描述:求\(\sum_{i=1}^{n} i\times i! \%n\) solution \[(n-1) \ ...

  3. 2019ICPC南京网络赛A题 The beautiful values of the palace(三维偏序)

    2019ICPC南京网络赛A题 The beautiful values of the palace https://nanti.jisuanke.com/t/41298 Here is a squa ...

  4. HDU 4751 Divide Groups (2013南京网络赛1004题,判断二分图)

    Divide Groups Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  5. HDU 4758 Walk Through Squares (2013南京网络赛1011题,AC自动机+DP)

    Walk Through Squares Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Oth ...

  6. 2019-ACM-ICPC-南京区网络赛-E. K Sum-杜教筛+欧拉定理

    2019-ACM-ICPC-南京区网络赛-E. K Sum-杜教筛+欧拉定理 [Problem Description] 令\(f_n(k)=\sum_{l_1=1}^n\sum_{l_2=1}^n\ ...

  7. 2019 南京网络赛A

    南京网络赛自闭现场 https://nanti.jisuanke.com/t/41298 二维偏序经典题型 二维前缀和!!! #include<bits/stdc++.h> using n ...

  8. 2019年南京网络赛E题K Sum(莫比乌斯反演+杜教筛+欧拉降幂)

    目录 题目链接 思路 代码 题目链接 传送门 思路 首先我们将原式化简: \[ \begin{aligned} &\sum\limits_{l_1=1}^{n}\sum\limits_{l_2 ...

  9. 2019南京网络赛E:K Sum

    Description: 定义函数 \[ f _n (k) = \sum _{l _1 = 1} ^n \sum _{l _2 = 1} ^n \cdots \sum _{l _k = 1} ^n \ ...

随机推荐

  1. Oracle 单实例安装篇

    linux中启动网卡报错:Error: Connection activation failed: Connection 'eth0' is not available on the device e ...

  2. Mybatis(二) SQL映射文件

    SQL映射文件 单条件查询 1. 在UserMapper接口添加抽象方法 //根据用户名模糊查询 List<User> getUserListByName(); 2. 在UserMappe ...

  3. [UER #1] DZY Loves Graph

    题目描述 开始有 \(n\) 个点,现在对这 \(n\) 个点进行了 \(m\) 次操作,对于第 \(i\) 个操作(从 \(1\) 开始编号)有可能的三种情况: \(Add\) a b: 表示在 \ ...

  4. awk对文件的奇偶行做处理

    { if(NR % 2 == 0) printf("%s\n", $0) else printf("%s, ", $1) } awk -f awk.awk da ...

  5. python-day12(正式学习)

    目录 可变长参数 可变长形参之* 可变长实参之* 可变长形参之** 可变长实参之** 可变长参数应用 命名关键字形参 函数对象 四大功能 引用 当作参数传给一个函数 可以当作函数的返回值 可以当作容器 ...

  6. Codeforces 1209E2. Rotate Columns (hard version)

    传送门 发现 $n$ 很小,考虑状压 $dp$,但是如果强行枚举列并枚举置换再转移复杂度太高了 考虑推推结论,发现我们只要保留列最大值最大的 $n$ 列即可,证明好像挺显然: 假设我们让列最大值比较小 ...

  7. leetcode 75. Sort Colors (荷兰三色旗问题)

    Given an array with n objects colored red, white or blue, sort them in-place so that objects of the ...

  8. 【网络安全】telnet 登陆远程服务器

    • 实验环境:        a. Vmware 14 PRO        b. windows 7 x64 客户机        c. windows server 2008 R2 x64 服务器 ...

  9. 在html中展示pdf

    pc端 插件: https://pdfobject.com/ 使用: <!doctype html> <html lang="en"> <head&g ...

  10. 使用 gitolite 管理配置 git 库的权限

    问题:每次创建git库都需要在gitolite的配置文件中添加git库的配置信息,为了方便管理git库,不在重复提交,所以修改gitolite的配置管理文件. 环境:ubuntu16.04 安装git ...