【AtCoder】ABC381【灰】C++

Поділитися
Вставка
  • Опубліковано 16 січ 2025

КОМЕНТАРІ • 19

  • @鳩でもわかるC
    @鳩でもわかるC Місяць тому +1

    公式の解説とは違う方法ですが、
    11/22 文字列は中心が / それより前はすべて 1、それより後はすべて 2、
    Nが与えられたらそれを満たす11/22文字列はひとつしか存在しない
    上記から 長さNの11/22 文字列を自分で生成してSと一致するか調べるという方法もあります。

    • @WillowLog
      @WillowLog  Місяць тому

      確かに、n数が指定されているので1通りですね😳
      1と2の関係性が分かってきたようで、曖昧な理解だと、コメントを見てから一晩おいて改めて考えてようやく分かりました😂

  • @user-jk1mw2yh5d
    @user-jk1mw2yh5d Місяць тому +1

    A問題、愚直に書いてあるとおりに実装するのが吉でしたね
    動画の 40:00 ぐらいのとこの考察からfor文で愚直に調べていくのが近道だったね
    あと、最初にTは奇数ってチェックしてたのに忘れてるのも痛かったかな?
    私も、思いつきで気の利いたコード書こうとして、コーナーケースを突かれてWA乱発してしまった…
    愚直は正義!

    • @WillowLog
      @WillowLog  Місяць тому +1

      愚直に解く意味を知る381でした🥹
      本当に奇数の条件を綺麗さっぱり抜け落ちていました😇反省

  • @onigiri47
    @onigiri47 Місяць тому +1

    これはほとんどの問題に当てはまる話なんですが、小さいサイズの問題はコンピュータじゃなくて自分が紙の上でやっても解けます。
    11/22文字列か判定するのを自分がコンピュータになったつもりで考えてみましょう。
    今回は1,2 ,/からなる文字列のみが与えられるわけですが、
    もし与えられた文字列が11/22文字列か判定するとき、自分が文字列を見たらどんなことに着目するでしょう?
    いくつかあると思いますが
    「(1のかたまり)/(2のかたまり)になっているか」
    「真ん中がスラッシュになっているか」
    「スラッシュ前後の長さが同じか」
    この辺りを考えるはずです。
    これを素直に実装するのが大事で、
    なぜかと言えば紙でやるときに
    例えば「文字列を切り出そう」とか、「スラッシュの数を数えよう」なんてやらないからですね。
    まずは「自分が手でやるなら」から思考を始めると手順が分かりやすくなっておすすめです。

    • @WillowLog
      @WillowLog  Місяць тому

      全体を理解していく時に、この行動をしたい!というのが明確になれば、それに向かってコードをどう書くか考えるのも描きやすいです😣
      今回は文中の「11/22の条件に当てはまらない例」が印象に残り、1と2の数が同じになるという事が曖昧になっていたまま考えていたのも、解き方を考える上で混乱をした要因の一つです😵‍💫描ける様なレベルまで問題を短時間で理解するのも練習ですね💪🥹📝何より場所を選ばないので休み時間にやれるっ

    • @onigiri47
      @onigiri47 Місяць тому +1

      ややこしいことを書かれると混乱するのめっちゃわかります(11/22文字列の定義とか、難しかったからあんまり読んでない)
      自分が上の解法に至れたのもメタ的な視点(色んな人が解けるように問題を作ってるよね、という前提)で書いた部分もあるので、問題に触れるのも大事だと思います。
      めっちゃ頑張ってるの伝わるので、これからも更新楽しみにしてます

  • @小学5年生-g6u
    @小学5年生-g6u Місяць тому +1

    お疲れ様ぁ♪

    • @WillowLog
      @WillowLog  Місяць тому

      お疲れ様です!😆

  • @ばらさん-b5d
    @ばらさん-b5d Місяць тому +1

    お疲れ様でした!
    A問題ACおめでとうございます!
    ターミナルに入力を複数行貼り付ける時に、
    「Don't ask me again.」にチェックを入れると、スムーズに貼り付けることができます。
    これにチェックを入れて困ったことはないので、チェック入れておくと便利です。

    • @WillowLog
      @WillowLog  Місяць тому

      チェックボックス…⁉️に全く意識向いていませんでした!教えていただきありがとうございます!!😭

  • @DDincrement
    @DDincrement Місяць тому +2

    お疲れ様でした!
    まだ2完安定は厳しいですか……。
    考える時間確保のためにも、A問題を高速化したいですね。
    自語りですが……
    先日WAでたときの対処法を解説した本人が、今回E問題でWAするデータを見つけ出せずに撃沈しました。
    あれだけ偉そうに語っておいて、お恥ずかしい限り……。

    • @WillowLog
      @WillowLog  Місяць тому

      テストデータを作るのにも、バリエーションが増えるので難しそうですね…🥺
      目安の時間を目標に、A問題を解ける様今週末は練習です💪😁

  • @YukoAmamiya339
    @YukoAmamiya339 Місяць тому +1

    基本的にA問題は分岐と繰り返しができれば解けるようになってるので、問題に書いてあるとおりに素直にやるのが一番効率的で、名前が付いてるアルゴリズムは簡単な解法が思いつかなかったときに仕方なく実装する感じですねー。シンプルな解法ではないのでコードも長くなりますし。
    B問題はアルゴリズムを知ってるとちょっと有利かもって感じで、C問題からは知らないと計算量的に解けないようになってます。
    とりあえずA問題埋めて実装力を高めていくのがよろしいかと。どっちにしろC問題以降もアルゴリズムがわかっても実装できないと解けないわけですし

    • @WillowLog
      @WillowLog  Місяць тому

      いろいろな事を知って、a問題の解き方に知ったものを使おうとして、複雑に考えるようになってしまっていた様です😢
      「解き方を考えよう」という時、シンプルな方法や考えとはイコールではないので、今週矯正を試みてみます😔

  • @aikawa_aoi_Love
    @aikawa_aoi_Love Місяць тому +1

    金曜やってるなんて聞いてないぞー笑笑
    なんか難しそうだったからまぁいいけど💦
    いつも直前に参加登録する習慣つけててよかったー
    レートめっちゃ下がるところだった

    • @WillowLog
      @WillowLog  Місяць тому

      毎週土曜日やるものだと思っていたので、daily trainingで教えていただかなかったら100%土曜日の夜に埴輪になっていました😂

  • @aikawa_aoi_Love
    @aikawa_aoi_Love Місяць тому +1

    公式解説の人に聞いたら日曜日にAGCってコンテストやる影響で普段の日曜のARCが土曜になって、土曜のABCが金曜に押し出されたんだってさ💦💦
    わかりやすいところに次回は金曜ですよって赤文字とかで書いててほしかったー💦

    • @WillowLog
      @WillowLog  Місяць тому

      押し出しそういう理由があったのですね!コンテストの3色団子状態!🍡
      登録する時参加ボタンしか見な🤫