• P4549 【模板】裴蜀定理


    P4549 【模板】裴蜀定理

    题目描述
    给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1X1+...AnXn>0,且S的值最小

    输入输出格式
    输入格式:
    第一行给出数字N,代表有N个数 下面一行给出N个数

    输出格式:
    S的最小值


    飞鼠定理:
    对于两个数 (a, b)(ax + by = gcd(a,b)) 存在解
    推广: 对于多于 (2) 个的数, 有 (ax + by + cz + ... = gcd(a, b, c, ...))

    故此题直接求解全部数的 (gcd) 即可

    Code

    #include<iostream>
    #include<cstdio>
    #include<queue>
    #include<cstring>
    #include<algorithm>
    #include<climits>
    typedef long long LL;
    using namespace std;
    int RD(){
        int out = 0,flag = 1;char c = getchar();
        while(c < '0' || c >'9'){if(c == '-')flag = -1;c = getchar();}
        while(c >= '0' && c <= '9'){out = out * 10 + c - '0';c = getchar();}
        return flag * out;
        }
    int gcd(int a, int b){return b == 0 ? a : gcd(b, a % b);}
    int num, ans;
    int main(){
    	int num = RD();ans = RD();
    	if(num == 1){printf("%d
    ", abs(ans));return 0;}
    	for(int i = 2;i <= num;i++){
    		int temp = abs(RD());
    		ans = gcd(ans, temp);
    		}
    	printf("%d
    ", ans);
    	return 0;
    	}
    
  • 相关阅读:
    java内存分析 栈 堆 常量池的区别
    了解struts2 action的一些原理
    条件语句的写法
    Library中的title与Name
    样式优先级、margin
    文件夹IsShow字段为空
    Ispostback
    HierarchicalDataBoundControl 错误
    DBNull与Null
    sharepoint中的YesNo字段
  • 原文地址:https://www.cnblogs.com/Tony-Double-Sky/p/9508526.html
Copyright © 2020-2023  润新知