2025_0118
今天又是什么都没写的一天,就晚上看了一个题目。
自从1月11号回家到今天,一个星期多了,一直在玩,写题很少,要稍微多写一点了。太废了。。。
刚才看了CF2043D,花了一小时多时间才AC,而且还看了题解才写出来。
是一个 *1800 的题目,但是感觉没有很难的。。。但是我不会写。
题目大意
给三个数字,
如果有多对这样的数字,选择
输入三个数字
思路
由于
所以
记为
所以我们需要
即我们要找到
看起来很麻烦,但是其实两个互质的数是非常多的,所以直接暴力找并不会找很多次。
有这么一个事实,素数是密集的,说人话就是素数两两之间挨的非常近,
所以只需要检查每一个长度,是否可以找到合法的就彳亍了。
void solve() { ll l,r,G; cin>>l>>r>>G; ll tl=((l-1)/G+1)*G,tr=r/G*G; if(tl>r||tr<l){ cout<<"-1 -1\n"; return; } l=tl,r=tr; for(ll d=(r-l)/G;d>=1;d--){ for(ll L=l/G;L+d<=r/G;L++){ if(gcd(L,L+d)==1){ cout<<L*G<<" "<<(L+d)*G<<'\n'; return; } } } if(l==G) cout<<G<<" "<<G<<'\n'; else cout<<"-1 -1\n"; }
明天再写()。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】