AtCoder - 4172 Modulo Summation 贪心
生活随笔
收集整理的這篇文章主要介紹了
AtCoder - 4172 Modulo Summation 贪心
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
開始想復雜的了 仔細觀察樣例后發現這個數 其實就是所有的數的LCM-1嗎
只有LCM-1 對所有數取模的時候才能對所有數得到MOD = a[i]-1;
那么一個X%Y得到的最大值就是Y-1
于是得到了這個代碼
#include<iostream> #include<cstdio> #include<queue> #include<cstring> #include<algorithm> #include<vector> #include<map> #include<sstream> typedef long long LL; using namespace std;LL a[3010]; LL Gcd(LL A,LL B){return B==0?A:Gcd(B,A%B); } int main() {int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld",&a[i]);LL s = a[1];for(int i = 2;i<=n;i++){LL gcd = Gcd(s,a[i]);s = s/gcd*a[i];}s--;LL sum=0;for(int i=1;i<=n;i++){sum+=s%a[i];}printf("%lld\n",sum);return 0; }我呢 就真的按照分析好的思路去實現了 求一遍所有數的LCM 然后-1 在逐個取模
然后輕而易舉的WA 了
總結
以上是生活随笔為你收集整理的AtCoder - 4172 Modulo Summation 贪心的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python界面工具pyqt基础教程
- 下一篇: 3.过滤数据 ---SQL