arukukaの日記スマートフォン用の表示で見るarukukaの日記この広告は、90日以上更新していないブログに表示しています。解説見たabc036.contest.atcoder.jp当初の方針DPだろうなあ・・・(定義が分かるとは言っていない2回目)木だから、木の嬉しい性質を利用するのかなまず全探索。白か黒で遷移してチェック。これは2^10^5なのでダメ両端が黒になるものを列挙して、残りの組み合わせを足していくのは?重複がある。それを除く方法も分からない(たぶんない)諦めて解説を見る解説を読んで木DPというらしい。DP好きとしてはマスターしておきたいところ。解説の通りに実装したらACしそうだけど、なぜそのように立式できるか分からない。サンプルケース1でテストしてみる。大嘘debugを見てみると同じ探索をしている。フィボナッチ数列みたいな感じ。AtCoderやっぱりDPしないとダメなので、PriorityQueueに突っ込んで深さの大きいところから計算しておく。すれば前に書いたメモ化再帰もDPっぽい動きをしてくれる。(今思えばソートで十分なのだけれど、イメージとしてPriorityQueueのほうがしっくりきた)AC。AtCoderちょっと待てよ?なんでメモ化再帰しているのにTLEするのだろう。考えられること関数呼び出しのオーバーヘッドがかかる(木に対してDFSするとよくあることで最悪スタック領域が足りなくなりREになる)debug文を残していたのが悪かった。debug文を消して提出してみる。AtCoderまじかい。log(N)がない分だけか、早くなってる。次からは消してから提出しよう・・・。(3)はてなブログをはじめよう!arukukaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。