当前位置: 首页 > news >正文

2026.3.21

赛时得分:\(60+67+40+10=177\)

A

记不是 \(i\) 的因子的最小正整数为 \(f(i)\),给定 \(t\) 组数据,每组一个正整数 \(n\)\(n \le 10^{18}\)),求 \(\sum_{i=1}^n f(i) \bmod (10^9+7)\);部分分:30% 数据 \(n \le 100,t=10\),另外 30% 数据 \(n \le 10^6\),全数据 \(n \le 10^{18}, t < 10^4\)。(CF 原题:CF1542C Strange Function)

赛时打了一个 \([1,L=10^9]\) 的表发现 \(f(x)\) 的值域很小,然后再发现满足 \(f(i)=x\)\(i\) 个数非常有规律,比如 \(x=2,cnt=L/2,x=3,cnt=L/3\cdots\),然后思路就卡在这里了,刚好卡在了 CF 题解的 Hint 2 之后就没有进展了。

实际上需要翻译一下 \(f(i)\) 这个函数:钦定 \(f(i)=x\),则 \(x\) 是非 \(i\) 的因子的最小正整数,那么在 \(x\) 的前面就一定是 \(i\) 的因子(否则就和定义矛盾),所以就有:

\[f(i)=x \Leftrightarrow i \bmod \operatorname{lcm}(1,2,\cdots,x-1) i=0 \land i \bmod x \ne 0 \]

记命题 \(p:i \bmod \operatorname{lcm}(1 \sim x-1),q:i \bmod x \ne 0\)

则满足 \(p\)\(i\) 的个数:\(\left\lfloor \dfrac{n}{\operatorname{lcm}(1 \sim x-1)} \right\rfloor\)

则满足 \(p \land \lnot q\)\(i\) 的个数:\(\left\lfloor \dfrac{n}{\operatorname{lcm}(1 \sim x)} \right\rfloor\)

则满足 \(p \land q\) 的个数:\(\left\lfloor \dfrac{n}{\operatorname{lcm}(1 \sim x-1)} \right\rfloor - \left\lfloor \dfrac{n}{\operatorname{lcm}(1 \sim x)} \right\rfloor\)

\(\operatorname{lcm}\) 可直接初始化,要求的式子就转化为:

\[\sum_{x \ge 2} x\left(\left\lfloor \dfrac{n}{\operatorname{lcm}(1 \sim x-1)} \right\rfloor - \left\lfloor \dfrac{n}{\operatorname{lcm}(1 \sim x)} \right\rfloor\right) \]

直接循环求解即可。

https://codeforces.com/problemset/submission/1542/369334177

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
constexpr int N=1e6+7;
constexpr ll mod=1e9+7;
ll l[100];   //lcm(1~i) 
inline ll lcm(ull x,ull y)
{return x*y/__gcd(x,y);
}
inline ll solve()
{ll n,ans=0;cin>>n;for(ll x=2;l[x-1]<=n;x++)   //钦定f(i)=x {ll contribute=(n/l[x-1]-n/l[x])%mod*x%mod;
//		cerr<<' '<<contribute<<endl;ans=(ans+contribute)%mod;}return ans;
}
main()
{
//	freopen("math.in","r",stdin);
//	freopen("math.out","w",stdout);cin.tie(0)->sync_with_stdio(0);l[1]=1;for(int i=2;i<=42;i++) l[i]=lcm(l[i-1],1ll*i);int T;cin>>T;while(T--) cout<<solve()<<'\n';cout.flush();return 0;
}
http://www.jsqmd.com/news/576960/

相关文章:

  • 黄金期货服务商哪家好?2026年4月推荐评测口碑对比TOP5 - 十大品牌推荐
  • 2026届最火的十大AI科研平台实测分析
  • 倍速链流水线定制厂家怎么选?10大选型标准避坑 - 丁华林智能制造
  • python项目管理器uv的安装和基本命令使用
  • 用STM32F103和FreeRTOS做个智能小管家:从传感器到QT上位机的完整开发记录
  • 2025届毕业生推荐的AI论文方案推荐
  • 福州高考日语机构大揭秘,选对=提分! - 品牌测评鉴赏家
  • Steam Web API集成能力:现代PHP应用中的游戏数据管道解决方案
  • 2026年假发片品牌应该怎么选?这份十大热门假发片榜单必须看! - GrowthUME
  • Jetson Nano/Orin上离线语音识别的实战踩坑:从Whisper到Sherpa-onnx,我最终选了它
  • 永磁同步电机匝间短路Maxwell模型、和详细的建模流程,内容清晰易懂,放入任何永磁同步电机中...
  • CVPR 2026 | CFG:用分数差异分析提高条件生成中CFG的引导
  • 千问3.5-2B保姆级教程:从模型原理到业务集成的全栈技术路径
  • 南京精灵智控科技有限公司联系方式查询:一份关于其业务与联系途径的客观梳理与使用参考 - 十大品牌推荐
  • 黄金期货如何选择?2026年4月推荐评测口碑对比知名五家 - 十大品牌推荐
  • 告别单调对话:SillyTavern如何让你轻松打造专属AI角色聊天室
  • vLLM-v0.17.1集成Ollama生态:本地化模型管理与一键切换
  • ai生成代码如何管理?快马结合gitbash实现智能开发工作流
  • Transformer太贵,Mamba太新?跨架构知识迁移TransMamba详解:原理、代码与避坑指南
  • Koikatu HF Patch完整指南:从零开始掌握游戏增强技巧
  • STM32Cude中SYS Debug配置不当导致Keli5烧写程序后芯片无法识别的解决方案
  • gte-base-zh生产环境部署案例:中小企业知识库向量化实战
  • 从ROS1到ROS2:手把手教你移植hdl_localization激光点云定位包(含完整CMakeLists.txt修改指南)
  • 2026成都代理记账优质品牌推荐指南 - 优质品牌商家
  • 革新性突破:Mac百度网盘下载速度解放方案
  • 内存管理-5-物理内存数据结构-4-struct address_space - Hello
  • 激光喷丸强化与多点冲击:多层仿真及表面完整性仿真技术
  • 探索汽车LAR LQG半主动/主动悬架:基于Simulink的奇妙之旅
  • 5个突破限制:MediaCreationTool.bat的Windows安装效率倍增指南
  • 不止于仿真:用Quartus II 13.1 + SignalTap II 实时调试你的Cyclone IV FPGA项目