[PYTHON] AtCoder Beginner Contest 103 Revue des questions précédentes

Temps requis

スクリーンショット 2020-05-22 22.05.00.png

Impressions

Je veux être capable de résoudre des problèmes pour lesquels je ne suis pas bon (je pense), comme le comptage, parce que les problèmes pour lesquels je suis bon se terminent si rapidement. Aussi, je veux faire de mon mieux ce soir avec l'intention de mourir AGC pour la première fois en 5 mois. Chaque fois que l'AGC augmente de plus de 100, je ferai de mon mieux pour réussir cette fois également.

Problème A

R J'ai eu l'impression que le problème était assez difficile. Si vous décidez du nombre au milieu, la solution sera décidée dans un sens, de sorte que vous pouvez sortir la plus petite solution qui peut être obtenue à partir du nombre au milieu (trois façons).

answerA.py


a,b,c=map(int,input().split())
print(min(abs(b-a)+abs(a-c),abs(b-c)+abs(c-a),abs(a-b)+abs(b-c)))

Problème B

Tout ce que vous avez à faire est d'écrire tous les modèles possibles. La manipulation des chaînes Python est pratique!

answerB.py


s,t=input(),input()
for i in range(len(s)):
    if s[i:]+s[:i]==t:
        print("Yes")
        break
else:
    print("No")

Problème C

La formule est devenue trop simple et je suis devenu anxieux. Le reste le plus grand après avoir divisé $ m $ pour un élément $ a_i $ dans une séquence est $ a_i-1 $, qui est considéré pour tous les éléments de la séquence $ a $. La solution est $ -n $ de la somme.

De plus, comme la réponse, $ m = a_1 \ fois a_2 \ fois… \ fois a_n-1 $ peut être utilisé pour atteindre un tel $ m $.

answerC.py


n=int(input())
a=list(map(int,input().split()))
print(sum(a)-n)

Problème D

Tout d'abord, j'ai regardé le premier échantillon et mené une expérience. Ensuite, s'il existe au moins un pont infranchissable entre les îles ** $ a_i $ th et $ b_i $ th **, la requête $ i $ peut être satisfaite.

Si vous pensez simplement ici, j'ai pensé qu'il serait préférable de passer du pont qui permet de répondre à de nombreuses demandes dans l'ordre. Cependant, j'ai estimé que ce serait difficile en termes de montant de calcul, car il pourrait y avoir des modèles qui manqueraient.

Par conséquent, j'ai pensé à compter avidement à partir de la fin. Si vous pouvez atteindre cette idée, vous pouvez utiliser l'idée de planification d'intervalle. Autrement dit, ** un pont est créé à l'extrémité droite de la première section en fonction de l'ordre de la section où l'extrémité droite de la section est sur le côté le plus à gauche, et si ce pont est inclus dans la section suivante, la section suivante est étudiée plus en détail et que Si le pont n'est pas inclus dans la section suivante, vous pouvez répondre à toutes vos demandes avec le nombre minimum de ponts en créant plus de ponts, puis en examinant la section suivante.

De plus, s'il y a des sections continues qui peuvent être représentées sur un certain nombre de lignes droites, il est très important de ** trier et de réfléchir en fonction de l'ordre **, donc je pense que vous devriez garder à l'esprit (auto-conseillé). De plus, après le tri, il peut être réduit à divers modèles tels que DP, méthode gourmande (y compris la planification de section), BIT, arbre de segmentation, méthode d'échelle, méthode de pomme de terre, graphique, etc.

De plus, pour arriver à la bonne idée, il est difficile de ** sélectionner en quelque sorte un algorithme **, donc je pense qu'il est important d'être conscient de ** le verbaliser fermement **.

answerD.py


n,m=map(int,input().split())
ab=[list(map(int,input().split())) for i in range(m)]
ab.sort(key=lambda x:x[1])
ans=[[ab[0][1]-1,ab[0][1]]]
ab.pop(0)
for i in range(m-1):
    if ans[-1][0]>=ab[i][0]:
        continue
    else:
        ans.append([ab[i][1]-1,ab[i][1]])
print(len(ans))

Recommended Posts

AtCoder Beginner Contest 102 Revue des questions précédentes
AtCoder Beginner Contest 072 Revue des questions précédentes
AtCoder Beginner Contest 062 Revue des questions précédentes
AtCoder Beginner Contest 113 Revue des questions précédentes
AtCoder Beginner Contest 074 Revue des questions précédentes
AtCoder Beginner Contest 051 Revue des questions précédentes
AtCoder Beginner Contest 127 Revue des questions précédentes
AtCoder Beginner Contest 119 Revue des questions précédentes
AtCoder Beginner Contest 054 Revue des questions précédentes
AtCoder Beginner Contest 117 Revue des questions précédentes
AtCoder Beginner Contest 105 Revue des questions précédentes
AtCoder Beginner Contest 112 Revue des questions précédentes
AtCoder Beginner Contest 076 Revue des questions précédentes
AtCoder Beginner Contest 089 Revue des questions précédentes
AtCoder Beginner Contest 069 Revue des questions précédentes
AtCoder Beginner Contest 079 Revue des questions précédentes
AtCoder Beginner Contest 056 Revue des questions précédentes
AtCoder Beginner Contest 087 Revue des questions précédentes
AtCoder Beginner Contest 067 Revue des questions précédentes
AtCoder Beginner Contest 093 Revue des questions précédentes
AtCoder Beginner Contest 046 Revue des questions précédentes
AtCoder Beginner Contest 123 Revue des questions précédentes
AtCoder Beginner Contest 049 Revue des questions précédentes
AtCoder Beginner Contest 078 Revue des questions précédentes
AtCoder Beginner Contest 081 Revue des questions précédentes
AtCoder Beginner Contest 047 Revue des questions précédentes
AtCoder Beginner Contest 060 Revue des questions précédentes
AtCoder Beginner Contest 104 Revue des questions précédentes
AtCoder Beginner Contest 057 Revue des questions précédentes
AtCoder Beginner Contest 121 Revue des questions précédentes
AtCoder Beginner Contest 126 Revue des questions précédentes
AtCoder Beginner Contest 090 Revue des questions précédentes
AtCoder Beginner Contest 103 Revue des questions précédentes
AtCoder Beginner Contest 061 Revue des questions précédentes
AtCoder Beginner Contest 059 Revue des questions précédentes
AtCoder Beginner Contest 044 Revue des questions précédentes
AtCoder Beginner Contest 083 Revue des questions précédentes
AtCoder Beginner Contest 048 Revue des questions précédentes
AtCoder Beginner Contest 124 Revue des questions précédentes
AtCoder Beginner Contest 116 Revue des questions précédentes
AtCoder Beginner Contest 097 Revue des questions précédentes
AtCoder Beginner Contest 088 Revue des questions précédentes
AtCoder Beginner Contest 092 Revue des questions précédentes
AtCoder Beginner Contest 099 Revue des questions précédentes
AtCoder Beginner Contest 065 Revue des questions précédentes
AtCoder Beginner Contest 053 Revue des questions précédentes
AtCoder Beginner Contest 094 Revue des questions précédentes
AtCoder Beginner Contest 063 Revue des questions précédentes
AtCoder Beginner Contest 107 Revue des questions précédentes
AtCoder Beginner Contest 071 Revue des questions précédentes
AtCoder Beginner Contest 064 Revue des questions précédentes
AtCoder Beginner Contest 082 Revue des questions précédentes
AtCoder Beginner Contest 084 Revue des questions précédentes
AtCoder Beginner Contest 068 Revue des questions précédentes
AtCoder Beginner Contest 058 Revue des questions précédentes
AtCoder Beginner Contest 043 Revue des questions précédentes
AtCoder Beginner Contest 098 Revue des questions précédentes
AtCoder Beginner Contest 114 Revue des questions précédentes
AtCoder Beginner Contest 045 Revue des questions précédentes
AtCoder Beginner Contest 120 Revue des questions précédentes
AtCoder Beginner Contest 108 Revue des questions précédentes