[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 ...
随机推荐
- 每日总结:Number&Math类(2021.10.4)
Java语言为每一个内置数据类型提供了对应的包装类. 所有的包装类(Integer.Long.Byte.Double.Float.Short)都是抽象类Number的子类 其中Integer 对应的基 ...
- NX Open显示符号(UF_DISP_display_temporary_point)
UF_DISP_display_temporary_point 使用方法: 1 Dim x As Double = 0, y As Double = 0, z As Double = 0 2 3 Di ...
- css3鼠标悬停图片边框线条动画特效
css3鼠标经过内容区时,边框线条特效效果制作. html: <div class="strength grWidth hidden"> <div class ...
- [对对子队]事后总结Beta
设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 要做一个游戏,定义的很清楚,实现出来的效果贴近定义,对用户和场景有清晰描述 我们达到目标了么(原计划的功 ...
- Java High Level REST Client 使用地理位置查询
Java High Level REST Client 使用地理位置查询 一.需求 二.对应的query语句 三.对应java代码 1.引入 jar 包 2.创建 RestHighLevelClien ...
- Noip模拟77 2021.10.15
T1 最大或 $T1$因为没有开$1ll$右移给炸掉了,调了一年不知道为啥,最后实在不懂了 换成$pow$就过掉了,但是考场上这题耽误了太多时间,后面的题也就没办法好好打了.... 以后一定要注意右移 ...
- 计算机网络传输层之TCP可靠传输
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105524592 学习课程:<2019王道考研计算机网络> 学习目的 ...
- 用C++实现的数独解题程序 SudokuSolver 2.6 的新功能及相关分析
SudokuSolver 2.6 的新功能及相关分析 SudokuSolver 2.6 的命令清单如下: H:\Read\num\Release>sudoku.exe Order please: ...
- 笔记本加装SSD并装系统
1,首先了解笔记本配置信息 一般加装SSD都是120~256左右,并使用原有的机械硬盘:首先确定加装位置:1,是否支持M.2接口:假如支持,可以直接购买,拆机装上:我的笔记本不支持:所以考虑2,光驱的 ...
- 全志Tina_dolphin播放音视频裸流(h264,pcm)验证
最近在验证tina对裸流音视频的支持,主要指h264视频裸流及pcm音频裸流. 在原始sdk中有针对很多video和audio类型的parser,但就是没有找到pcm和h264的parser,所以需要 ...