2020-12-05から1日間の記事一覧

PythonでJOI難易度6を埋める #5

解説AC E - 通勤経路 制約のせいで場合分けが面倒.どこから来て,今どこへ曲れるかを考えて実装する. w, h = map(int, input().split()) dp = [[[0]*4 for _ in range(w)] for _ in range(h)] for i in range(h): for j in range(w): if i == 0 and j == 0…

PythonでJOI難易度6を埋める #4

難易度6,初自力AC B - ピザ お店の住所の配列に,配達先の住所の要素を挿入する.ここで,お店の住所の配列がsortされているなら,二分探索で挿入先のindexを調べることができる.indexが分かったら,左右どちらのお店が近いかを調べる. from bisect impor…

PythonでJOI難易度6を埋める #3

解説AC. C - 連鎖 どこの色を変えるかを回調べて,それぞれで何連鎖するか計算します. from collections import Counter n = int(input()) p = [int(input()) for _ in range(n)] ans = n for i in range(n - 3): delete = p[i: i + 4] color, cnt = Count…

PythonでJOI難易度6を埋める #2

期末テストが終わりやっとJOIできると思ったら,あと一週間しかないこの頃. C - ダーツ めちゃくちゃ有名?な問題.半分全探索で解けます. from bisect import bisect_left n, m = map(int, input().split()) p = [int(input()) for _ in range(n)] one_thr…