[hdu6588]Function
令$m=\lfloor \sqrt[3]{n} \rfloor-1$
$\sum_{i=1}^{n}gcd(floor(\sqrt[3]{i}),i)$
=$\sum_{i=1}^{m}\sum\limits_{j=i^{3}}^{(i+1)^{3}-1}gcd(i,j)+\sum\limits_{i=(m+1)^{3}}^{n}gcd(m+1,i)$
考虑该式的前缀和,即
$\sum_{i=1}^{n}gcd(m,i)$(上式的m和n和之前的无关系)
=$\sum_{d|m}d\sum_{i=1}^{n/d}\varepsilon(gcd(i,m/d))$
=$\sum_{t|m}\mu(t)\sum_{dt|m}n/dt\cdot d$
=$\sum_{T|m}n/T \sum_{d|T}d\cdot \mu(T/d)$
=$\sum_{T|m}n/T\cdot \varphi(T)$
对$\varphi$线性筛,原式后半部分可以用o(m),考虑前半部分
=$\sum_{i=1}^{m}\sum_{T|i}\varphi(T)\cdot (((i+1)^{3}-1)/T-(i^3-1)/T)$
=$\sum_{T=1}^{m}\varphi(T)\sum_{i=1}^{m/T}((iT+1)^{3}-1)/T-(iT^3-1)/T$
=$\sum_{T=1}^{m}\varphi(T)\sum_{i=1}^{m/T}3Ti^{2}+3i+1$
这个就也可以o(m)计算了(后面的sigma可以预处理,也可以套公式),总时间复杂度即o(m)
1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 10000005
4 #define mod 998244353
5 #define ll __int128
6 int T,m,ans,s1[N],s2[N],vis[N],phi[N],p[N];
7 char s[101];
8 int main(){
9 s1[1]=3;
10 s2[1]=4;
11 phi[1]=1;
12 for(int i=2;i<N-4;i++){
13 s1[i]=(s1[i-1]+3LL*i*i)%mod;
14 s2[i]=(s2[i-1]+3LL*i+1)%mod;
15 if (!vis[i]){
16 p[++p[0]]=i;
17 phi[i]=i-1;
18 }
19 for(int j=1;(j<=p[0])&&(i*p[j]<N-4);j++){
20 vis[i*p[j]]=1;
21 if (i%p[j])phi[i*p[j]]=phi[i]*(p[j]-1);
22 else{
23 phi[i*p[j]]=phi[i]*p[j];
24 break;
25 }
26 }
27 }
28 scanf("%d",&T);
29 while (T--){
30 scanf("%s",s);
31 ll n=0;
32 for(int i=0;s[i];i++)n=n*10+(s[i]-'0');
33 for(m=1;(ll)m*m*m<=n;m++);
34 m-=2;
35 int ans=0;
36 for(int i=1;i<=m+1;i++)
37 if ((m+1)%i==0)ans=(ans+(n/i-((ll)(m+1)*(m+1)*(m+1)-1)/i)%mod*phi[i])%mod;
38 for(int i=1;i<=m;i++)ans=(ans+1LL*phi[i]*(1LL*i*s1[m/i]+s2[m/i]+mod))%mod;
39 printf("%d\n",ans);
40 }
41 }
[hdu6588]Function的更多相关文章
- 通过百度echarts实现数据图表展示功能
现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...
- jsp中出现onclick函数提示Cannot return from outside a function or method
在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...
- JavaScript function函数种类
本篇主要介绍普通函数.匿名函数.闭包函数 目录 1. 普通函数:介绍普通函数的特性:同名覆盖.arguments对象.默认返回值等. 2. 匿名函数:介绍匿名函数的特性:变量匿名函数.无名称匿名函数. ...
- 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()
1.问题: 测试php7.0 链接mysql数据库的时候发生错误: Fatal error: Uncaught Error: Call to undefined function mysqli_con ...
- jquery中的$(document).ready(function() {});
当文档载入时执行function函数里的代码, 这部分代码主要声明,页面加载后 "监听事件" 的方法.例如: $(document).ready( $("a") ...
- Function.prototype.toString 的使用技巧
Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: function hello ( msg ){ console.log("hello& ...
- 转:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38
转:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38http://space.itpub. ...
- [Xamarin] 透過Native Code呼叫 JavaScript function (转帖)
今天我們來聊聊關於如何使用WebView 中的Javascript 來呼叫 Native Code 的部分 首先,你得先來看看這篇[Xamarin] 使用Webview 來做APP因為這篇文章至少講解 ...
- Oracle数据库自动备份SQL文本:Procedure存储过程,View视图,Function函数,Trigger触发器,Sequence序列号等
功能:备份存储过程,视图,函数触发器,Sequence序列号等准备工作:--1.创建文件夹 :'E:/OracleBackUp/ProcBack';--文本存放的路径--2.执行:create or ...
随机推荐
- java集合类之LinkedList
概述 a, 我们知道LinkedList它的数据存储方式是双向链表,基于链表存储的特性, LinkedList具有查询较慢(顺序访问)但增加/删除较快(虽然要遍历到指定位置, 但是相对于数组存储来说不 ...
- maven配置下载包 解决SunCertPathBuilderException:unable to find valid certification path to requested target
解决 『SunCertPathBuilderException:unable to find valid certification path to requested target』 问题 ★ ...
- storm卡顿修改
最近的webstorm越来越卡了,有时候甚至会弹出 Out of memory的窗口,提示要设置 xmx的值, 8G内存跑你这小软件还会不够用???要内存?给你,看你还会不会卡成翔! 于是果断给x ...
- linux下nginx编译安装、版本信息修改
环境 centos 7 安装依赖包 yum install -y gcc gcc-c++ glibc glibc-devel pcre pcre-devel zlib zlib-devel opens ...
- CAD图DWG解析WebGIS可视化技术分析总结
背景 AutoCAD是国际上著名的二维和三维CAD设计软件,用于二维绘图.详细绘制.设计文档和基本三维设计.现已经成为国际上广为流行的绘图工具..dwg文件格式成为二维绘图的事实标准格式. 但由于Au ...
- Java(29)集合四Collections
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15228439.html 博客主页:https://www.cnblogs.com/testero ...
- 使用寄存器点亮LED
1. 项目:使用stm32寄存器点亮LED, 分别点亮红.绿.蓝3个灯. 2. 代码: 只需要编写main.c程序,stm3210x.h程序为空(只需要新建即可). 2.1 点亮绿灯main.c程序 ...
- [no code][scrum meeting] Alpha 5
项目 内容 会议时间 2020-04-10 会议主题 后端技术讨论 会议时长 30min 参会人员 全体成员 $( "#cnblogs_post_body" ).catalog() ...
- Redis的浅入门
Redis的浅入门 # 缓存的思想 问题提出:我们的用户数量上亿,如果登录,访问数据库user特别耗时,该怎么办?--提出缓存 方法:怎样从缓存在获取数据? *有数据: 直接返回 *无数据: (1)从 ...
- Verdi UVM Debug Mode 简单使用
转载:Verdi UVM Debug Mode 简单使用_Holden_Liu的博客-CSDN博客 文档与源码: User Guide: UVMDebugUserGuide.pdf in $VERD ...