C - Many Requirements

C - Many Requirements。 C問題ながら水diffと言われている問題。 とはいえ、そこまでめちゃくちゃ難しいという感じでもない。 lis = [] res = 0 N, M, Q = map(int, input().split()) e = [list(map(int, input().split())) for i in »

C - Synthetic Kadomatsu

C - Synthetic Kadomatsu。 かなり複雑なDFSを使う問題。 まず、合成魔法のみに注目して、延長/短縮魔法は絶対値で取れる、というあたりの勘所を理解することが重要になりそう def solve(): N, A, B, C = map(int, input().split()) llist = [int(input()) for i in »

C - Monsters Battle Royale

C - Monsters Battle Royale。 ユークリッドの互除法を応用する問題。 from fractions import gcd def solve(): N = int(input()) A = [int(i) for i in input().split()] a = A[0] »

B - Foods Loved by Everyone

B - Foods Loved by Everyone。 そんなに難しくないのだけど、実装は工夫しないとごちゃごちゃになる。 import collections def solve(): N, M = map(int, input().split()) a = [] for i in range(N): tmp = list( »

D - Multiple of 2019

D - Multiple of 2019はめちゃくちゃ難しいD問題。 答えは下記のコードとなる。 def solve(): s = input() mod = 2019 remains = [0]*mod ans = 0 now = 0 remains[0] = 1 print(s[::-1]) # 文字列をreverseし、 »

C - 755

個人的にはすきな問題。 https://atcoder.jp/contests/abc114/tasks/abc114_c dfsで753が現れる数を列挙して、そのなかから753が一回づつ現れるものを足していく。 def solve(): N = int(input()) # 文字列 s で始まる七五三数の個数 def dfs(s): if int(s) > »

C-ID

C-IDについて。 座標圧縮の問題と言えるらしい。 ほしい配列はすぐにわかったけど、この方法は慣れないとスラスラ書けないな。 def solve(): N, M = map(int, input().split()) # N分の二次元配列を用意する piys = [[] for _ in range(N)] # 各県を添え字として市を格納していく for i in range(M): p, y »

D - Sum of Large Numbers

D - Sum of Large Numbers。 累積和を使ういい問題。 def solve(): N, K = map(int, input().split()) mod = 10**9+7 increments = [] for i in range(N+1) »

jellyware

**このサイトがポップに最新技術を紹介してて面白い。 https://jellyware.jp/kurage/ 例えば、web bluetoothが下記サイトで試せる。 https://jellyware.jp/kurage/bluejelly/scan.html 実際に「scan」を押してみるとデバイス一覧がづらづらって出てきて感動。 ウェブでここまで動かせるようになっているのか・・・・ »

累積和

pythonでの書き方の備忘メモ。 説明は下記記事が良い。 https://qiita.com/xryuseix/items/1059101a31107ba330d4 今まではDFSでやってしまいそうな問題だけど、これを使うと、ループが一つ減ることになる。 A = [3, 8, 2, 9, 3, 9, 10, 6] N = len(A) S = [0] for »