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. Java类初始化和实例初始化过程

    1.类初始化过程 一个类要创建实例需要先加载并初始化该类 main方法所在的类需要先加载和初始化 一个子类要初始化需要先初始化父类 一个类初始化就是执行<client>()方法(编译器生成 ...

  2. HDU 1257 最少拦截系统 最长递增子序列

    HDU 1257 最少拦截系统 最长递增子序列 题意 这个题的意思是说给你\(n\)个数,让你找到他最长的并且递增的子序列\((LIS)\).这里和最长公共子序列一样\((LCS)\)一样,子序列只要 ...

  3. PyQt5_主要的类库

    1.PyQt5包括的主要模块如下. QtCore模块——涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及的时间.文件.目录.数据类型.文本流.链接.QMimeData.线程或进程等对象. Qt ...

  4. MySQL中的索引简介

    MySQL中的SQL的常见优化策略 MySQL中的索引优化 MySQL中的索引简介 一. 索引的优点 为什么要创建索引?这是因为,创建索引可以大大提高系统的查询性能. 第一.通过创建唯一性索引,可以保 ...

  5. 会引起全表扫描的几种SQL 以及sql优化 (转)

    出处: 查询语句的时候尽量避免全表扫描,使用全扫描,索引扫描!会引起全表扫描的几种SQL如下 1.模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like:对于like ‘ ...

  6. php常用header状态

    <?php //200 正常状态 header('HTTP/1.1 200 OK'); // 301 永久重定向,记得在后面要加重定向地址 Location:$url header('HTTP/ ...

  7. Windows PyCharm QtDesigner/pyuic5配置

    QtDesigner 配置成功截图如下: C:\ProgramData\Anaconda3\Library\bin\designer.exe $FileDir$ pyuic5 配置成功截图如下: C: ...

  8. 2019.9.17更换ubuntu的镜像源 ubuntu安装lamp iis安装网站和ftp站

    更换ubuntu的镜像源 /etc/apt/sources.list cp  /etc/apt/sources.list  /etc/apt/sources.list.bak 备份这个文件 vim / ...

  9. python-字符编码的转换

    python-字符编码的转换 1.了解基础知识 ASCII  一个英文,占一个字节.只能存英文和特殊字符. gb2312 约可以存7000中文 gb1830 约可以存27000中文 gbk 默认中文, ...

  10. 007-Zabbix Server 自带模板监控MySQL数据库

    监控数据库分为三种: 1.Zabbix Server 自带模板监控无密码MySQL数据库 2.Zabbix Server 自带模板监控有密码MySQL数据库 3.Zabbix Server 自带模板监 ...