2021-02-01から1ヶ月間の記事一覧
気づくこと 一回でも x を操作する途中で2倍した後は、二回連続で +1, -1 を使わない。 理由 p 回 +1 した後に、2倍して q 回 +1 すると、 (x + p)*2 + q = 2x + 2*p + q q ≧ 2 のとき 2x + 2*p + q = 2x + 2*p + 2*s + t(s ≧1, t は 0 or 1) となり p + …
期待値でも遷移さえわかれば dp で求まるというやつ。 dp と メモ化再帰の両方で解いてみた。 a,b,c = map(int,input().split()) dp = [[[0]*101 for _ in range(101)] for i in range(101)] for i in range(100,a-1,-1): for j in range(100,b-1,-1): for k…
久しぶりに bfs やら ord を書いたのでメモ。 import sys input = sys.stdin.readline h,w = map(int,input().split()) s = [list(input().rstrip()) for i in range(h)] to = [[] for i in range(26)] for i in range(h): for j in range(w): if 96 < ord(s…
知らないと解けないなと思ったのでメモ。参考 CODE FESTIVAL 2014 あさプロMiddle : B - 枕決め - kmjp's blogN人の人とM個の枕がある。 N人はそれぞれ高さがX[i]以上Y[i]以下の枕が好みであり、そのような枕を1個使いたい。 M個の枕の高さA[0] ~ A[m]が与…
"「ある頂点の子孫でない頂点に xを足す」は、 「根の子孫に xを足す」と「ある頂点の子孫に -xを足す」に分けることができるので、 全てのクエリを「ある頂点の子孫に x を足す」の形に帰着することができます。"かしこい。は?となりながら解説の言うとお…