AtCoder Beginner Contest 315


Round 6 : AtCoder Beginner Contest 315

一言:
愿悲 、爱恋、你和宇宙以及那颗星辰,能够永远拥抱我们。
——THE BEYOND-機動戦士ガンダム40周年纪念曲

这场打的一般,主要还是一开始网卡爆了把心态弄得很不好,一定程度上影响了发挥。

G: Ai + Bj + Ck = X (1 <= i, j, k <= N)

这题其实还是很好想的,主要问题出现在实现上面。

我们可以考虑枚举 i,那么接下来就会得到一个式子 Bj + Ck = x - Ai。显然,我们可以通过扩展欧几里德得到一组通解 y,z

那么对于每一个整数 p,就会有 B×y+C×z=B×(yp×Cgcd(B,C))+c×(z+p×Bgcd(B,C))=xAi

实际上就是要你求出有多少个 p 满足 1yp×Cgcd(B,C),z+p×Bgcd(B,C)n。其实可以把它转化为当 p<0 以及 p0 两种情况分别讨论,这样做会方便不少。

Submissions

What I learned:

  • 以后 AT 网卡的时候,尝试重启电脑吧,亲测有效。

  • 对于给定三个数 i,j,k 合在一起的限制,要求方案,可以考虑枚举 i,算出 j,k 的一些限制,然后将可能的情况加在一起。

  • From Problem E,我们发现,如果我们可以采取一些代价减少操作数,那么当你枚举代价时,请明白这个代价最多只需要枚举到总操作数之和,这样可以减少复杂度。

posted @   Saltyfish6  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
Document
点击右上角即可分享
微信分享提示