100~400点を解くための精進と考察
Nキチさんとコメダ珈琲でうだうだ話しながら考えたことを記事にしてみることにしました。
因みに僕は水色なので、発言の重みとかそういうのは余りありません。
精進についての記事や意見は調べるとたくさん出てくるので、具体的な方法は各自で合ったのを探しましょう。
まだ完成していません!追記したりします!
精進
何問取り組むか
精進は、「質×量」
簡単な指針としては質と量のバランスを取るようにしていく、というのがあるかも
質が足りなかったら何問解いてもダメだし、逆も然り
少なくともある程度の量は確保できると嬉しい…細かいのはググって
何分考えるか(何分で解説を見るか)
解説を見るか否か
これは人にもよりますが、解説は見ておくと嬉しいと僕は思っています
本質を理解するのが最終目標なので、自分の用途に合わせて適宜時間を決めると良いと思います…
個人的には、コンテストの時間に合わせていくのが良いかな…?と思います。でも、これは「コンテストで実際に解けるようにする精進」に合わせた時間設定なので、例えば「アルゴリズムの使い方を理解したい(実装に重きを置きたい)」とかならもっと早く解説を見ても良いかもしれません。
出された問題の本質を理解する
本質が理解できると、抽象化ができて、似たような部分を持つ問題が出てきた時に応用が効きます
本質を理解することで、問題を自分のものにする→次回から自分のものになってるので振り回せて武器になる
解説を読んで解説ACする?分かるまでじっくり考える?
いろんなやり方がありますが「問題の本質を理解する」という点では一致しています
自分がその問題を考えていたときの思考プロセスを紙に書き出しておくのは、それを後で比べた時に「ここでこういう考え方をすると良かったのかな…?」というのが生えやすいので、オススメだったりします
数学力
Nキチ曰く、「正当性が示せないんだよなぁ〜」
考察ステップが理解できないと、「この問題はこれで解けた」で終わる
競プロの解説記事は数学という言語で既述されている
数学ができないと、解説が理解できない→いまいち腑に落ちない→「この問題はこれで解けた」という問題と解法を1対1で繋げるだけ、のような理解になってしまう
競プロにおいて全く同じ問題はなかなか出ないので、1対1みたいなのは厳しい所がある
1500ACで黄色とは
これは1500ACするだけで黄色になれる、ということではなくて
1500問を解くだけの体力がありますか?というのも暗に要求されている
1500問解ける体力を持っている人は、大概1500問を解いているうちに黄色実力がつけれるような人
「問題を多く解いた時に伸びる」為の力をまずつけておくことが重要
『精進量を増やす』の内側に内包されている色々、初心者には理解できないのでは?
「同じ漢字を10ページ文詰めて書いた!」みたいな違う方向に行くのでは…?
応用が生えない友人R氏の話
友達に「板書を一言一句写してパターン暗記しかできない人」、R氏がいる
途中で「つまりこれはどういうこと?」と言うと、「うーーーーん」と詰まる
言い換えができない…抽象化、理解ができていない いま何してるんだっけ?となる
図が描けるとかなり理解しやすくなるイメージがあります
自分に何が足りないのかが分からなくて困っている
分かったらそれを改善してしまえば優勝なんだけどね…
たぶん一人では見つけにくい(そもそも「自分が分からない」から困ってるわけだし)
人に聞くのが早いと思いますが、言語化する能力が高いと見つけやすいと思います
R氏は「全てわかんねぇ」と言いがちなので困っています
なので、最初の方から順番に「ここまで分かりますか?」「ここまではokですか?」と逐一聞いて「あーそこがわからないんですな」みたいなのをしています
モチベ
ごめん分からん… 自分よりもっと専門的なのを書いてるのがいっぱいあると思う
でもそもそも「本当に自分はモチベを出す必要があるのか?」みたいなのは先に考えておくと良いと思います。モチベを無理に維持すると疲れてしまうので。
「エンジニアの知的生産術」より
情報収集、モデル化・抽象化、実践と検証
この中でも「抽象化」がキーになってくると僕は思っています(?)
抽象化のコツ、言い換え
個数制限なしナップサック問題→サイゼリヤ1000円ガチャ
ちなみに言い換えの力があると、出てきた問題を自分の考察のしやすい土俵まで持ってこれるので、便利です
この「情報収集、モデル化・抽象化、実践と検証」みたいなある程度の段階が、競プロ界隈では「解く」の一言にまとめられがち
1500問「解い」た!!みたいな。実際はその裏で色々な試行錯誤があったりします、知らんけど
よく分かってない人は「"解け"ばいいんだ〜」ってなって解くだけで伸びないがち
解く(後編)
まだ完成していない
考察ステップは少なめ
日本語読めますか?
問題で、まず「何が問われているか?」を理解してから考える
サンプルが難しいと、途端に破滅するので理解する必要がある
つまりどういうこと?
分かりやすく図に描く、文章で言い換えることは一回頭で咀嚼することを意味している
制約から考える
考察のコツ
典型思考があったりします
僕の考察用紙の使い方
解法ガチャ&コードをネットで探してコピペゲーになっていませんか?w
終わってからちゃんと理解しましょうね…?