zoukankan      html  css  js  c++  java
  • 题解 P4549 【模板】裴蜀定理

    裴蜀定理内容

    [设 (a , b) = d,则对任意整数 x, y,有 d | (ax + by) 成立 ]

    [特别地,一定存在 x , y 满足 ax + by = d ]

    等价的表述:

    [不定方程 ax + by = c(a, b, c 为整数) 有解的充要条件为 (a, b)|c ]

    推论:

    不定方程(ax+by+cz+...+nm=f(其中a,b,c...n,f为整数))有解的充要条件是(f为gcd(a,b,c,...,n))的整数倍

    对于此题不难发现,(S=sum_{i=1}^nA_i imes X_i) 是一个不定方程,且已知一组系数(A_i)

    则有S是(gcd(A_1,A_2,...A_n))的整数倍,当(S=gcd(A_1,A_2,...A_n))时,S取得最小值

    所以此题求(gcd(A_1,A_2,...A_n))即可

    //AC代码
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<cmath>
    #define ll long long
    using namespace std;
    int n,x;
    int main()
    {
    	scanf("%d",&n);
    	int ans=0;
    	for(int i=1;i<=n;++i){
    		scanf("%d",&x);
    		x=abs(x);
    		if(x==0)continue;
    		ans=__gcd(ans,x);
    	}
    	printf("%d",ans);
    	return 0;
    }
    
    
  • 相关阅读:
    Redis_配置文件
    Redis_数据使用
    QQ登录测试用例
    JMeter性能测试入门--偏重工具的使用
    浅说《测试用例》
    axure界面功能
    性能测试相关术语
    测试用例设计和测试环境搭建
    测试需求分析
    软件测试的过程
  • 原文地址:https://www.cnblogs.com/Wuhen-GSL/p/13535482.html
Copyright © 2011-2022 走看看