CF1244C The Football Season
2021/10/15 6:14:55
本文主要是介绍CF1244C The Football Season,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
CF1244C The Football Season
题意:
解方程组:\(x+y+z=n\) , \(wx + dy = p\) , 要求 \(x ,y , z\) 都非负。
\(1 \leqslant n \leqslant 10^{12} , 1 \leqslant p \leqslant 10 ^ {17} , 1 \leqslant d < w \leqslant 10^5\) 。
解法:
第一个式子等价于 $x + y\leqslant n $ 。
而对于第二个式子,若存在一组解 \(x_0 , y_0\) 。则通解为:
\(x = x_0 - kd\)
\(y = y_0 + kw\)
于是我们发现 \(x + y = x_0 + y_0 + k(w - d)\) 。
为了使 \(x + y\) 尽可能小,\(k\) 必须尽可能小 。且 \(y\) 非负,所以我们只需要在 \(0 \leqslant y < w\) 的范围内找一组解就行了。
代码实现就直接枚举 \(y\) 在 \([0 , w - 1]\) 之间,然后回代验证即可。
\(x = \frac{p-d \cdot y}{w}\)
\(z = n - x - y\)
时间复杂度
很显然是 \(O(w)\) 。
Code
这篇关于CF1244C The Football Season的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享