psy

Description

f(i)=i∗[∑d|n10d∗μ(id)]f(i)=i∗[∑d|n10d∗μ(id)]f(i)=i*[\sum_{d|n}10^d*\mu({i \over d})]
求∑ni=1f(i)∑i=1nf(i)\sum_{i=1}^nf(i)

Data Constraint

nnn<=1010" role="presentation" style="position: relative;">1010101010^{10}

Solution

首先显然有

Answer=∑i=1ni∗10i∑j=1niμ(j)∗jAnswer=∑i=1ni∗10i∑j=1niμ(j)∗j

Answer=\sum_{i=1}^n i*10^i\sum_{j=1}^{n \over i}\mu(j)*j

首先设g(i)g(i)g(i)=∑ij=1j∗10j∑j=1ij∗10j\sum_{j=1}^i j*10^j,这个挺容易求,像求等比数列一样裂项求即可,求得

g(n)=n∗10n+1−10n+1−199g(n)=n∗10n+1−10n+1−199

g(n)={{n*10^{n+1}-{{10^{n+1}-1}\over 9}}\over 9}

对答案式子分块求,现在只需要求w(i)=∑ij=1μ(j)∗jw(i)=∑j=1iμ(j)∗jw(i)=\sum_{j=1}^i\mu(j)*j
考虑到有w∗ID=[n=1]w∗ID=[n=1]w*ID=[n=1],于是可以用杜教筛求解,得

w(n)=1−∑i=2ni∗w(ni)w(n)=1−∑i=2ni∗w(ni)

w(n)=1-\sum_{i=2}^ni*w({n\over i})

接下来只需预处理出前n23n23n^{2 \over 3}的μ(i)∗iμ(i)∗i\mu(i)*i即可。

Code

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define fo(i,j,l) for(int i=j;i<=l;++i)
#define fd(i,j,l) for(int i=j;i>=l;--i)using namespace std;
typedef long long ll;
const ll K=52e5,N=521e4,U=2e5,mo=1e9+7;int ss[K],oo;
bool bz[N];
int mu[N];
ll qz[N],keep[U],n9,n;inline ll ksm(ll o,ll t)
{ll y=1;for(;t;t>>=1,o=o*o%mo)if(t&1)y=y*o%mo;return y;
}inline ll op(ll t)
{return ((t*ksm(10,t+1)-(ksm(10,t+1)-1)*n9)%mo+mo+1)*n9%mo;}inline ll ext(ll l,ll r)
{ll o1=l+r,o2=r-l+1;if(!(o1&1))o1>>=1;else o2>>=1;return (o1%mo)*(o2%mo)%mo;
}ll S(ll p)
{if(p<=K)return qz[p];else if(keep[n/p]!=-1)return keep[n/p];ll l=2,r,lj=0;while(l<=p){r=p/(p/l); ll o=p/l;lj=(lj+ext(l,r)*S(o))%mo;l=r+1;}keep[n/p]=(1-lj+mo)%mo; return keep[n/p];
}int main()
{n9=ksm(9,mo-2); fo(i,2,K){if(!bz[i])ss[++oo]=i,mu[i]=-1;fo(j,1,oo)if(ss[j]*i<=K){bz[ss[j]*i]=true;mu[ss[j]*i]=-mu[i];if(i%ss[j]==0){mu[ss[j]*i]=0;break;}}else break;}mu[1]=1;fo(i,1,U-2)keep[i]=-1;fo(i,1,K)qz[i]=(qz[i-1]+mu[i]*(i%mo)+mo)%mo;freopen("psy.in","r",stdin);freopen("psy.out","w",stdout);cin>>n;ll l=1,r,ans=0;while(l<=n){r=n/(n/l);ans=(ans+(S(r)-S(l-1)+mo)*op(n/l))%mo;l=r+1;}cout<<ans;
}

JZOJ 5539 psy相关推荐

  1. JZOJ 5461 购物 —— 贪心

    题目:https://jzoj.net/senior/#main/show/5461 贪心,原来想了个思路,优先选优惠价最小的 K 个,然后其他按原价排序遍历: 如果当前物品没选过,原价选上,如果选过 ...

  2. JZOJ 5372. 【NOIP2017提高A组模拟9.17】猫

    Description 信息组最近猫成灾了!隔壁物理组也拿猫没办法.信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数),编号为1 到n,站成了一个环,第i 只猫的左边是第i ...

  3. [jzoj NOIP2018模拟 11.01]

    很庆幸打了这场模拟赛,因为这一场爆零 好像上次纪中的某场比赛我也出现了同样的问题,光是计算时间复杂度而忘记了空间的限制.想必是比上次惨的,考场上就写了两题而这两题都因为MLE爆零了.而且我T2还码了7 ...

  4. 【DP】小学生语文题(jzoj 5102)

    正题 jzoj 5102 题目大意 给你两个串A,B,字母个数相等,可以把B的一个字符移到前面某个位置,问你最少移多少次可以使A,B相等 解题思路 设fi,jf_{i,j}fi,j​为A匹配了i-n, ...

  5. 【二分】防具布置/秦腾与教学评估(ybtoj 二分-1-2/jzoj 1253/luogu 4403)

    正题 ybtoj 二分-1-2 jzoj 1253 luogu 4403 题目大意 给出n组数:si,ei,dis_i,e_i,d_isi​,ei​,di​ 对于每组数据,表示在sis_isi​加1, ...

  6. 【归并排序】奶牛的图片(jzoj 1812)

    奶牛的图片 jzoj 1812 题目大意 给你一个序列,你可以交换相邻的两个数 让你用最少的交换次数来使得这个序列变成形如a+1,a+2...n,1,2...a−1,aa+1,a+2...n,1,2. ...

  7. 【归并排序】休息(jzoj 3462)

    休息 jzoj 3462 题目大意 给你一个序列,你每一回合把它划分成尽可能少的单调递减的序列(第一次划分到的序列长度都是偶数),然后把每个序列翻转,问你把它变成单调递增的序列要翻转多少次 输入样例 ...

  8. 秀姿势(jzoj 3464)

    秀姿势 jzoj 3464 题目大意 有n个数,每个数都有一个分组,现在问你最多去掉k个分组后,做多有多少个数是连续的同组的 输入样例 9 1 2 7 3 7 7 3 7 5 7 输出样例 4 样例解 ...

  9. 小麦亩产一千八(jzoj 3461)

    小麦亩产一千八 jzoj 3461 题目大意 给你一个正整数序列:a0,a1,a2a_0,a_1,a_2a0​,a1​,a2​-- a0a_0a0​为1 a1a_1a1​为p ax=ax−1+ax−2 ...

最新文章

  1. facebook maskrcnn 安装笔记
  2. Android的ADT的安装(离线)
  3. 5个让你充满健身动力的方法
  4. Flask框架(SQLAlchemy(python3版本)中查询数据的方法,以及定义显示信息 )
  5. TP查询数据库多维数组
  6. leetcode 419. Battleships in a Board | 419. 甲板上的战舰(二维矩阵DFS经典“感染”思路)
  7. 在linux中dns不安装coching,ubuntu 8.04下openldap的安装和使用
  8. PMP读书笔记(第8章)
  9. java 静态变量的使用_java的static静态变量是不是不安全的?应该如何正确的使用他呢...
  10. python笔记-标准库unittest
  11. WEB.NET error:请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping 解决方案
  12. 让一个DIV对齐到底部
  13. 110亿美金EOS都能瞬间归零,区块链谈何安全保障?
  14. Atitit.web ui  组件化 vs  mvc
  15. man综述--系统调用和库函数的关系
  16. 7.4 SiamFC
  17. WPS 2019 用户界面分析
  18. macos显卡测试软件,GpuTest显卡测试软件 for Mac 64位
  19. 台式linux系统安装,LINUX安装方法
  20. Font Awesome、ionic icon图标库的超详细使用方法

热门文章

  1. rust最美建筑_[资料整理]动物之森的美丽物语 (多图;补完)
  2. 计算机网络——链路传输时延/速率和传播时延/速率的区分
  3. 珠服务器维修,梦幻西游:最奇葩的服务器,避水珠比定魂珠贵10倍还供不应求...
  4. 中控 X638考勤机编程(delphi)
  5. 计算机828专业课包括哪些,上海海事大学计算机软工专业课828数据结构及程序设计复习指导...
  6. 1063 计算谱半径 (20 分)
  7. 2014Esri中国开发者大会——SQL操作Geodatabase
  8. iReport属性为空时报表显示空白
  9. 修复因更新iCloud设置而卡住的iPhone / iPad的六种方法
  10. 小学计算机兴趣班活动方案,兴趣班活动方案