ABC336 (2024/01/14)
https://atcoder.jp/contests/abc336/tasks
〇A問題
Yuto.icon "L" + "o" * N + "n" + "g"
TK.iconおたふく.icon tako.iconwataumi.iconkakip.icon↑に同じ
CarpDay.icon 上に同じ.1lineで書けたのに!と投稿時に気付く.
Kaplam.icon普通に書いた
〇B問題
Yuto.icon やるだけ.そういえば,C++には__buildin_ctzみたいなのあった気がする?とか思いながら実装.
TK.iconbinにキャストして、文字列反転して後ろから0の連続している部分を数える
おたふく.icon formatを利用して10進数の整数を2進数表記で文字列に変換して、一の位から0が連続して何回続くか調べる。
tako.icon TK.iconさんと同じ
CarpDay.icon 素直に,2で何回割れるか数える.あれ?素直じゃなかった??
wataumi.icon↑に同じ
Kaplam.icon折角だから自作の進数変換器持ってきたらinputした時最後に\nついてたせいでエラーはいて時間かかった
kakip.iconTK.iconさんと同じ、bit演算でやろうとしたけど忘れてて無理だった
yuichang.icon 進数変換
〇C問題
TK.icon偶数のみ使うだけど別に奇数で考えて数字二倍すればいいかとおもい、全列挙を一回考える。結局、考え方は何番目の5進数かを考えればいい。ただし、0が例外で、その処理をわすれていてWA。何となくTLEしそうで他の方針を考えていたが、思いつかなくて出したら普通に行けてた。
おたふく.icon 最初はproductで全列挙すればいいやと思うも、入力例3であまりにも遅いので計算量を調べると当たり前に無理。沼りそうな気がしたのでD問題へ行くも、無事D問題で沼ったのでもう一度戻ってきて落ち着いて考えると方針が思い付く。方針としては組み合わせ問題の何種類かの文字を並べ替えて辞書順で何番目に来る文字列はなにかという高校数学の問題と同様の方法をプログラミングで行うというものです。
Yuto.icon 全く解き方が思いつかない.とりあえず全列挙したのを出力して眺めてみたけど何も分からん.(AHCのupsolveに夢中で)食べ損ねていた夜ご飯を食べて戻ってきても何も分からん.飛ばしてDに行った.
tako.icon 5で割ったり余りを求めたりいろいろしたけど1WAが全然消えなかった。原因がわかったのでそれだけはじくという愚行を犯しAC。たまにRatedでやるとこれだよ...
CarpDay.icon1桁の場合,2桁の場合,3桁の場合,と紙に数を記して法則性を見つける.実装したらなぜか少しおかしい.理由は分からないけど,こうしたら直りそう,という方法で対応してAC.しっくりこないままDへ.
Kaplam.icon条件見間違えてて全部入れようとしたけど無理だったから5で割ってどうのこうの
wataumi.iconただの5進数 CarpDay.iconほんまや!
kakip.iconn進数に変換できる関数をネットで拾って実装
yuichang.icon 難しいと思う
〇D問題
Yuto.icon prefix_sumとsufix_sumを用意して,良い感じに判定できないかなーとかやってたけど無理だった.
TK.icon増加部分と減少部分とピラミッド状の部分をそれぞれ数えて、最大値取るでいけそうと思ったが、ピラミッド状の部分のカウントがひたすらにうまくいかなかった。実装力よわよわ。
おたふく.icon 中々方針が思い付かず、遅延セグメント木を使って区間全てに対して1減少すれば良いのか?など沼に...。
CarpDay.icon ある位置を中心として左右にどれだけ延ばせるか考える方針を思いつくが,具体的にどんな数を求めればよいか思いつかずスキップ.EもFも無理そうなので戻る.入力例1・2を使ってどんな数が求まれば都合が良いか考える.その方法で合っているか自信ないまま提出してAC.しっくりこないままEへ.解説見たら,別解と同じ方針みたい.
Kaplam.icon色々考えたけど相当実装だるい方法しか思いつかなかったので諦め
wataumi.icon前からみた階段と後ろからみた階段を比べて段数の低いものを記録。段数の最大値を出力。結果は25AC、17WA。うーん、嫌ですねえ。えびまラボの解説動画みたら考え方はあってるっぽい?自分が提出したものを再確認をします。
場合分けのミス😢これは解けてた、悔しい。
kakip.iconO(N)で、あるサイズ以上にできるか判定できるので二分探索で最大値が求まる
yuichang.icon 両側から見る。配列をreverseさせた後にreverseし直してなくてWA。直したらAC。悲しい。
〇E問題
Yuto.icon 見に来たけど,無理そうだったのでDに戻った.
wataumi.icon↑に同じ
TK.iconDの実装に困って、一瞬見に来たが、愚直は絶対無理だから系統分けして数えるんだろうなぁ。どうやるのかなと考えて、実装に向き合うことにした。
CarpDay.icon Excel使って,数値例2の2024までの409個の良い整数を求めてみるが,さっぱり法則性つかめず.以前の結果を使って判定することもできない(×10だけできるが)ので,DPでもなさそう?10分前でもう諦めモード.前日のAHCで楽しみすぎると,ABCに掛ける力なくなるね(言い訳).
CarpDay.icon思いつきそうもないので,ちらっと解説見る.あ!以前も出てきたあれだ!そのうちまた出てくるかもしれないから勉強しておこう,と思いつつ後回しにしていたあれだ!!やるべきことは,早めに済ませましょう.反省.
〇F問題
CarpDay.icon グリッド問題,かつ,180度回転処理,かつ,最小回数.どうすんの?と思って戻る.
#AtCoder #ABC