[PYTHON] Codeforces Round # 658 (Div.2) Examen Bacha (7/29)

Les résultats de cette fois

スクリーンショット 2020-07-30 11.49.41.png

Impressions de cette époque

Je l'ai encore mal lu comme je l'ai fait la dernière fois. Voir le problème C pour plus de détails. Il est inefficace de ne résoudre que 3 questions en 2 heures, nous allons donc augmenter progressivement le nombre de problèmes pouvant être résolus.

Problème A

Si la sous-chaîne commune la plus courte de $ a $ et $ b $ existe, la longueur sera de 1, vous pouvez donc afficher l'un des caractères communs de $ a $ et $ b $. Ici aussi, vous pouvez savoir s'il y a des caractères contenus dans $ a $ qui sont également contenus dans $ b $, et si l'un d'eux a une structure définie, vous pouvez vérifier avec $ O (N) $.

A.py


t=int(input())
for _ in range(t):
    n,m=map(int,input().split())
    a=list(map(int,input().split()))
    b=set(map(int,input().split()))
    for i in a:
        if i in b:
            print("YES")
            print(f"1 {i}")
            break
    else:
        print("NO")

Problème B

Tout d'abord, c'est un problème de jeu, alors ** faites attention à l'état final **. Lorsque vous faites attention à l'état final, toutes les montagnes seront à 0, mais juste avant cela, seule la dernière montagne restera telle quelle.

L'accent était mis ici sur le fait de quitter ou non chaque montagne (** binarisation! **). Autrement dit, si le nombre de pierres dans chaque montagne est supérieur à 1, le joueur qui choisit cette montagne ne peut pas donner le choix à l'adversaire. Cela peut être fait en ne laissant qu'une pierre de la montagne et en la remettant à l'autre partie.

Cependant, ** si le nombre de pierres dans la montagne est à l'origine d'un **, le joueur qui choisit la montagne n'a pas d'autre choix que de retirer cette pierre. Par conséquent, lorsque vous travaillez sur une montagne avec plus d'une pierre, vous pouvez choisir de laisser une pierre ou d'enlever toutes les pierres de cette montagne selon que le nombre de pierres dans la montagne suivante est un ou non. De plus, si une montagne avec une seule pierre continue à partir de la première montagne, le joueur n'a pas le choix, donc le joueur qui peut choisir une montagne sans pierre pour la première fois a le choix et gagne. On peut dire que c'est possible

B.py


t=int(input())
for i in range(t):
    n=int(input())
    a=list(map(int,input().split()))
    s=["First","Second"]
    ans=0
    for i in range(n):
        if a[i]!=1:
            ans=i
            break
    else:
        ans=n-1
    print(s[ans%2])

Problème C1

Je l'ai complètement mal lu. Je pensais que l'opération d'inversion était la chaîne de caractères entière, mais elle a été écrite lorsque je voyais souvent l'énoncé du problème si je ne le faisais qu'avec le préfixe que j'ai choisi. Dans Codeforces, j'ai lu le texte anglais original tel qu'il est, et il y a beaucoup d'erreurs, je voudrais donc me concentrer sur ** l'élimination de ces erreurs non essentielles **.

Quant au problème, la première politique devrait être de considérer ce qui arrive au $ i $ ème bit (** abstraction **). À ce stade, considérons le cas de l'inversion uniquement du $ i $ ème bit, mais ici c'est possible en sélectionnant dans l'ordre $ i $ → $ 1 $ → $ i $. En outre, dans cette simulation, ce sera environ 3n $ fois. La première opération $ i $ change l'élément $ i $ th en l'élément $ 1 $ th, de sorte que l'opération $ 1 $ retourne uniquement l'élément $ i $ th d'origine à cet élément $ 1 $ th, et finalement $ Pensez-y comme une annulation avec i $. Si vous ne savez pas, je pense que vous devriez le montrer. Je pense que de tels problèmes ne peuvent être résolus que de manière découvrable, donc je pense que l'important est ** la familiarité et l'expérimentation **.

C1.py


#erreur de lecture…
t=int(input())
for _ in range(t):
    n,a,b=int(input()),input(),input()
    ans=[]
    for i in range(n):
        if a[i]!=b[i]:
            ans.append(f"{i+1}")
            ans.append("1")
            ans.append(f"{i+1}")
    print(f"{len(ans)}"+" "+" ".join(ans))

Après un problème de C2

Je vais sauter cette fois

Recommended Posts

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 # 609 (Div.2) Critique Bacha (10/8)
Codeforces Round # 597 (Div.2) Examen Bacha (10/27)
Codeforces Round # 666 (Div.2) Examen Bacha (9/2)
Codeforces Round # 651 (Div.2) Critique Bacha (8/20)
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 # 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)
Codeforces Round # 643 (Div.2) Révision
Codeforces Round # 679 (Div.2) Révision (10/25)
Codeforces Round # 657 (Div.2) Révision
Code de l'éducation forces Round 93 Bacha Review (8/17)
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)
Codeforces Round # 609 (Div.2) (jusqu'à B)
Code de l'Éducation Forces Round 87
Codeforces Beta Round # 13
Codeforces Beta Round # 1
Codeforces Beta Round # 2
DP100 Question Bacha Review 1 ~ 10 (8 / 26,27)
Codeforces Round # 626 B.Compte des sous-rectangles