zoukankan      html  css  js  c++  java
  • 【BZOJ】1441: Min(裴蜀定理)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1441

    这东西竟然还有个名词叫裴蜀定理。。。。。。。。。。。。。。。。

    裸题不说。。。。《初等数论》上边写得很清楚:如果对于任意d|ai,有d|sum{aixi}

    所以求出d就行了。。。显然gcd。。

    ls纯属我中二。。。。

    裴蜀定理是:存在$d=(a_1, a_2, cdots, a_n)$使得$sum_{i=1}^{n} a_ix_i$....

    而我上边说的压根就没表示出来。。。。。。。。。

    证明在哪QAQ:

    唔。。。。是不是因为$ax+by=c$这个方程解得$c$的最小正整数解就是$gcd(a,b)$....这个学过拓欧的都应该知道吧。。。。。。

    然后就是拓展到$n$个$a$的方程解出来就是$(a_1, a_2, cdots, a_n)$吧。。

    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <string>
    #include <iostream>
    #include <algorithm>
    #include <queue>
    #include <set>
    #include <map>
    using namespace std;
    typedef long long ll;
    #define rep(i, n) for(int i=0; i<(n); ++i)
    #define for1(i,a,n) for(int i=(a);i<=(n);++i)
    #define for2(i,a,n) for(int i=(a);i<(n);++i)
    #define for3(i,a,n) for(int i=(a);i>=(n);--i)
    #define for4(i,a,n) for(int i=(a);i>(n);--i)
    #define CC(i,a) memset(i,a,sizeof(i))
    #define read(a) a=getint()
    #define print(a) printf("%d", a)
    #define dbg(x) cout << (#x) << " = " << (x) << endl
    #define error(x) (!(x)?puts("error"):0)
    #define rdm(x, i) for(int i=ihead[x]; i; i=e[i].next)
    inline const int getint() { int r=0, k=1; char c=getchar(); for(; c<'0'||c>'9'; c=getchar()) if(c=='-') k=-1; for(; c>='0'&&c<='9'; c=getchar()) r=r*10+c-'0'; return k*r; }
    int gcd(int a, int b) { return b?gcd(b, a%b):a; }
    int main() {
    	int n=getint(), ans=0;
    	rep(i, n) ans=gcd(ans, abs(getint()));
    	printf("%d
    ", ans);
    	return 0;
    }
    

      


    Description

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

    Input

    第一行给出数字N,代表有N个数 下面一行给出N个数

    Output

    S的最小值

    Sample Input

    2
    4059 -1782

    Sample Output

    99

    HINT

     

    Source

     
  • 相关阅读:
    jeecms 强大的采集功能优化 转载 https://blog.csdn.net/jeff06143132/article/details/7099003
    JEECMS自定义标签开发步骤
    jeecms之全文检索
    jeecms怎么修改后台访问路径?
    jeecms 基本架构研究
    Java JNI初探
    《高效程序员的45个习惯》
    Java并发编程:Thread类的使用
    Thread详解
    JAVA多线程实现的四种方式
  • 原文地址:https://www.cnblogs.com/iwtwiioi/p/4172331.html
Copyright © 2011-2022 走看看