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

    BZOJ 1441:Min

    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

    分析:相当于拓展欧几里得的n次推广。

    代码:

     1 #include"bits/stdc++.h"
     2 #define db double
     3 #define ll long long
     4 #define vec vector<ll>
     5 #define ci(x) scanf("%d",&x)
     6 #define cd(x) scanf("%lf",&x)
     7 #define cl(x) scanf("%lld",&x)
     8 #define pi(x) printf("%d
    ",x)
     9 #define pd(x) printf("%f
    ",x)
    10 #define pl(x) printf("%lld
    ",x)
    11 #define rep(i, n) for(int i=0;i<n;i++)
    12 using namespace std;
    13 const int N = 1e6 + 5;
    14 const int mod = 1e9 + 7;
    15 const int MOD = 998244353;
    16 const db  PI  = acos(-1.0);
    17 const db  eps = 1e-10;
    18 int n,m;
    19 int a[N];
    20 int main()
    21 {
    22     ci(n);
    23     int ans=0;
    24     for(int i=0;i<n;i++) ci(a[i]),ans=__gcd(ans,a[i]);
    25     pi(ans);
    26 }

    Wannafly挑战赛22.A

    有一个计数器,计数器的初始值为0,每次操作你可以把计数器的值加上a1,a2,...,an中的任意一个整数,操作次数不限(可以为0次),问计数器的值对m取模后有几种可能。

    输入描述:

    第一行两个整数n,m
    接下来一行n个整数表示a1-an.
    1≤m,a1,a2,...,an≤1000000000

     

    分析:m/gcd(m,a1,a2,..,an);

    代码:

     1 #include"bits/stdc++.h"
     2 #define db double
     3 #define ll long long
     4 #define vec vector<ll>
     5 #define ci(x) scanf("%d",&x)
     6 #define cd(x) scanf("%lf",&x)
     7 #define cl(x) scanf("%lld",&x)
     8 #define pi(x) printf("%d
    ",x)
     9 #define pd(x) printf("%f
    ",x)
    10 #define pl(x) printf("%lld
    ",x)
    11 #define rep(i, n) for(int i=0;i<n;i++)
    12 using namespace std;
    13 const int N = 1e6 + 5;
    14 const int mod = 1e9 + 7;
    15 const int MOD = 998244353;
    16 const db  PI  = acos(-1.0);
    17 const db  eps = 1e-10;
    18 int n,m;
    19 int a[N];
    20 int main()
    21 {
    22     ci(n),ci(m);
    23     int ans=m;
    24     for(int i=0;i<n;i++) ci(a[i]),ans=__gcd(ans,a[i]);
    25     pi(m/ans);
    26 }




  • 相关阅读:
    Centos 安装postgreSQL9.4.3
    widnows2008双网卡双ip不同Ip段
    centos7服务器远程安装图形化页面
    yum install 安装时报yum doesn't have enough cached data to continue.
    linux通过ntpd同步服务器时间,
    电脑端微信多开
    h3c交换机配置ssh密码验证登录方式
    【Windows】Win10家庭版启用组策略gpedit.msc
    IOI2019游记
    Educational Codeforces Round 70
  • 原文地址:https://www.cnblogs.com/mj-liylho/p/9498579.html
Copyright © 2011-2022 走看看