[PYTHON] Codeforces Round # 609 (Div.2) (jusqu'à B)

Div2A. Equation

Répondez à deux nombres tels que la différence soit $ n $. Pendant un moment, j'ai pensé à factoriser la différence en $ n $ dans l'ordre, mais quand j'y ai pensé, c'était un bâillon. Si vous répondez 9n $ et 8n $, la différence sera de $ n $ et les deux seront des nombres composites.

python


n = int(input())
print(9*n,8*n)

C++


#include<bits/stdc++.h>
int main(){
    int n;
    std::cin >> n;
    std::cout << 9*n << " " << 8*n << std::endl;
}

Div2B. Modulo Equality

Tout d'abord, l'énoncé du problème est difficile à comprendre. Il dit quoi faire avec le remplacement $ p_n $, mais en bref

Etant donné la séquence $ \ {a_i } $ et $ \ {b_i } $. Le minimum $ x $ tel que la séquence $ \ {a_i + x \ (\ mathrm {mod} \ m) } $ correspond à $ \ {b_i } $ ** triée de manière appropriée ** Répondre.

C'est le problème.

Maintenant, la première chose qui vous vient à l'esprit avec la mort cérébrale est que vous voulez explorer $ x $. Puisque nous considérons $ \ mathrm {mod} \ m $, nous pouvons assimiler le montant qui dépasse $ m $ à $ x $. Cependant, puisque la plage de $ m $ est toujours $ 1 \ leq m \ leq 10 ^ 9 $, il est impossible à temps de rechercher la plage entière.

Une autre contrainte est que $ 1 \ leq n \ leq 2000 $, c'est-à-dire que les colonnes $ a $ et $ b $ peuvent avoir une taille allant jusqu'à 2000. En fait, c'est important, et la politique de recherche de tous les $ x $ peut être laissée telle quelle pour réduire la portée de l'enquête. Au moins un des éléments de ** ʻa [i] + x` doit être "b [0]" pour que l'addition de x à "a" et le réarrangement approprié de "b" correspondent. Doit correspondre **.

Par conséquent, recherchons tous les «a» correspondant à «b [0]» et sortons le plus petit qui satisfait la condition. Plus précisément, veuillez vous référer au code ci-dessous.

Python


import sys
input = sys.stdin.readline

def main():
    n, m = map(int, input().split())
    a = list(map(int, input().split()))
    b = list(map(int, input().split()))
    b.sort()
    answer = []
    for i in range(n):
        x = (b[0] - a[i]) % m  # b[0]Et un[i]Déterminez x pour que
        tmp = list(map(lambda num: (num + x) % m, a))
        tmp.sort()
        if tmp == b:
            answer.append(x)
    print(min(answer))
    return

if __name__ == '__main__':
    main()

C++


#include <bits/stdc++.h>
using i64 = int_fast64_t;
#define repeat(i, a, b) for(int i = (a); (i) < (b); ++(i))
#define rep(i, n) repeat(i, 0, n)

void solve() {
    int n, m;
    scanf("%d %d", &n, &m);
    std::vector<int> a(n), b(n);
    rep(i, n) scanf("%d", &a[i]);
    rep(i, n) scanf("%d", &b[i]);
    std::sort(begin(b), end(b));
    std::vector<int> ans;
    rep(i, n) {
        int x = (b[0] - a[i] + m) % m;
        std::vector<int> tmp(n);
        std::transform(begin(a), end(a), begin(tmp), [&](intnum){return(num+x)%m;});
        std::sort(begin(tmp), end(tmp));
        if(tmp == b) {
            ans.emplace_back(x);
        }
    }
    std::sort(begin(ans), end(ans));
    printf("%d\n", ans[0]);
}

int main() {
    solve();
    return 0;
}

Recommended Posts

Codeforces Round # 609 (Div.2) (jusqu'à B)
Codeforces Round # 643 (Div.2) Révision
Codeforces Round # 679 (Div.2) Révision (10/25)
Codeforces Round # 657 (Div.2) Révision
Codeforces Round # 658 (Div.2) Examen Bacha (7/29)
Codeforces Round # 654 (Div.2) Critique Bacha (8/18)
Codeforces Round # 594 (Div.2) Examen Bacha (10/29)
Codeforces Round # 597 (Div.2) Examen Bacha (10/27)
Codeforces Round # 666 (Div.2) Examen Bacha (9/2)
Codeforces Round # 659 (Div.2) Critique Bacha (8/5)
Codeforces Round # 610 (Div.2) Critique Bacha (10/5)
Codeforces Round # 479 (Div.3) Examen Bacha (9/25)
Codeforces Round # 603 (Div.2) Examen Bacha (10/15)
Codeforces Round # 600 (Div.2) Examen Bacha (10/21)
Codeforces Round # 481 (Div.3) Examen Bacha (9/24)
Codeforces Round # 639 (Div.2) Examen Bacha (9/4)
Codeforces Round # 612 (Div.2) Examen Bacha (10/2)
Codeforces Round # 521 (Div.3) Examen Bacha (10/9)
Codeforces Round # 652 (Div.2) Examen Bacha (8/24)
Codeforces Round # 673 (Div.2) Examen Bacha (10/22)
Codeforces Round # 606 (Div.3) Examen Bacha (10/13)
Codeforces Round # 613 (Div.2) Examen Bacha (10/1)
Codeforces Round # 665 (Div.2) Examen Bacha (8/23)
Codeforces Round # 592 (Div.2) Examen Bacha (11/03)
Codeforces Round # 662 (Div.2) Critique Bacha (8/8)
Codeforces Round # 618 (Div.2) Examen Bacha (9/26)
Codeforces Round # 648 (Div.2) Critique Bacha (9/5)
Codeforces Round # 676 (Div.2) Examen Bacha (10/31)
Codeforces Round # 675 (Div.2) Examen Bacha (10/30)
Codeforces Round # 486 (Div.3) Examen Bacha (9/23)
Codeforces Round # 671 (Div.2) Examen Bacha (9/22)
Codeforces Round # 669 (Div.2) Examen Bacha (9/9)
Codeforces Round # 672 (Div.2) Examen Bacha (10/16)
Codeforces Round # 638 (Div.2) Examen Bacha (9/16)
Codeforces Round # 663 (Div.2) Examen Bacha (8/13)
Codeforces Round # 668 (Div.2) Examen Bacha (9/7)
Codeforces Round # 626 B.Compte des sous-rectangles
Codeforces Round # 663 (Div.2) Examen Bacha (8/16)
Codeforces Round # 609 (Div.2) Examen Bacha (10/6)
Codeforces Round # 645 (Div.2) Critique Bacha (9/10)
Codeforces Round # 664 (Div.2) Examen Bacha (8/13)
Codeforces Round # 660 (Div.2) Critique Bacha (8/4)
Code de l'Éducation Forces Round 87
Codeforces Beta Round # 13
Codeforces Beta Round # 1
Codeforces Beta Round # 2
Tous jusqu'à 775/664, 777/666, 755/644, etc.
Python3> rond (a --b, 7)
Code de l'éducation forces Round 94 Bacha Review (9/3)
Code de l'éducation forces Round 91 Bacha Review (7/28)
Code de l'éducation forces Round 88 Bacha Review (8/4)
Code de l'éducation forces Round 86 Bacha Review (9/17)
Code de l'éducation forces Round 89 Bacha Review (9/8)
Code de l'éducation forces Round 92 Bacha Review (7/30)
Code de l'éducation forces Round 90 Bacha Review (8/19)