ABC307 (2023/06/24)
〇A問題
yuichang.iconmod7でやる
tako.icon適当にやるだけ
Kaplam.icon7個毎に計算してprint
TTT.icon やるだけなのですが、丁寧に組みすぎて14分も費やしてしまいました。瞬発力...
CarpDay.iconスライス使って合計
まーす.iconKaplam.iconさんと同じ
おたふく.icon i周目のj日目で2重ループ。
Yuto.icon 添え字をバグらせて手間取ったけど,なんとかAC
sakana.iconKaplam.iconさんと同じです
TK.icon添え字を調整して計算
〇B問題
yuichang.icon全探索。reverseで回文判定
tako.icon全探索
Kaplam.icon全探索、なぜかWAが出ると思ったらcontinueってするところbreakにしてた
CarpDay.iconyuichang.iconさんと同じ
まーす.icon同上
おたふく.icon itertoolsのcombinationを利用して全探索。ただし、2つの文字列の繋ぐ順番を変えることで回文になったりならなかったりすることに気付いておらず、1WA。
Yuto.icon やるだけ.回文判定の時,問題文で添え字を与えられてるけど,それ以外にも,S[i] != S[~i]とすると簡単.負のインデックス指定だと面倒だけど,チルダ使うと良い感じに出来る.
sakana.icon全探索しました。一部問題を勘違いしていて1度WA
TTT.icon コンテスト後に自力でACしました。順列全列挙で解きました。焦ってコンテスト中すぐに解法が思いつかず、コンテスト後にお風呂の中で思いつきました。おそいっちゅうねん。
TK.iconi<jの条件を自分で勝手につけ足していてめちゃめちゃ時間かかった。
〇C問題
yuichang.iconやるだけ。でもやれなかった><
tako.iconいろいろ試してみたけどWAが消えませんでした...時間使いすぎたかな...
Kaplam.iconちょっと書いたけど面倒そうだったのとD行けそうだったから飛ばし、D解けなかったから戻ってこなかった
CarpDay.iconデータ読み込みまでして方針が立たずスキップ.ラスト30分で戻るも実装間に合わず.コンテスト終了後に実装終了してAC.関数4つ,90行オーバーの仰々しいコード.簡単に実装する方法あるのかな?解説見たら,座標を要素とする集合を使えばシンプルになるみたい.なるほど.
おたふく.icon 考えてみるも方針立たず、飛ばす。
Yuto.icon ICPC並みの面倒な実装だったので一旦飛ばした
Yuto.icon 勉強会で紹介してもらった別解の方法でupsolve.めっちゃ簡単で綺麗...この変換使いこなしたい
sakana.icon飛ばしました
TTT.icon 問題文の意味自体よく分かりませんでした。勉強会ではこの問題について聞きたいです。
TK.iconDの方がわかりそうだからDへ、結果Dはできてない
〇D問題
TTT.icon 今日はBもCもすぐに解法が思いつかなかったので、ずっとDに費やしました!もう少しで解けそうなのでもうちょっと頑張ってきます!(追記:tako.iconさんのコメントから、僕のしたかった当初の方針がstackだけでできることに気づき、stackを用いてコンパイラの字句解析の要領で実装しましたが、AC40個TLE8個でした。実行時間の減らし方を勉強会で教えていただきたいです。)
Yuto.icon PyPyの弱点2つ、なんだっけ?
yuichang.icon'('の位置をstackでメモ。')'が来たらstackのtopから今見た')'の位置までfor文回して出力したらダメなindexをbool型配列に記録していったら想定外の2TLE。累積和で高速化。
tako.icon"("が来たらスタックに積んでいって、")"が来たら消す感じにやりました。
Kaplam.icon"("が1個出たら1個深い層に、")"が1個出たら1個浅い層に移動して間を0に置き換え、最後0飛ばして出力でTLE2、RE2、同じところ何回も消してるのが重いのはわかったのでその後一括で消せるようにしてAC29WA19... 追記:ひたすら手元で出力おかしいパターンを調べて修正すること2回でAC、1個は使ってから消すデータを消してから使ってた、もう一つは)が使ってない(の数以上の数出てきた時の処理入れてなかった
CarpDay.icon多分yuichang.iconさんtako.iconと同じ.')'が多めにある場合に対応できずに2REの末にAC.解説のシンプルな方法でも実装.ans = ans[:last]として前からlast文字より後を削除しようとしたらTLE.スライスは新しいリストを作るのでlastだけ処理が必要.要注意.
おたふく.icon 一周だけ文字列を参照するだけで取り除けないとTLEしそうだと考えて頑張った結果、CarpDay.iconの時間内提出コードと同様のアルゴリズムだった。
Yuto.icon ICPC直前は毎年AtCoderもICPCっぽい問題が出る気がする.これはICPC特有の構文解析をかなり簡単にした感じ.stackを使ってシミュレーションするだけ.コンパイラの授業を取って[る|た]人なら,めっちゃ簡単.
sakana.iconスライスして挑んでみたのですが、上手く”(”と")"のペアを見つけられていなかったためWAとTLE。
TK.iconとりあえず作ってみて、いろいろ間違いがあったから調整したが、半分ほどWA。今の方針では処理しきれない問題があるみたい。
〇E問題
CarpDay.iconDPっぽいというか,漸化式というか...数学的に解きました.コード短くAC.数学好きにおススメ.
おたふく.icon なんと共通テストと同じ問題。塾講最高。CarpDay.iconの解法の方がよく分からないです。
CarpDay.icon1人目の値は0に固定して,i人目までのパターンのうち,i人目が0であるパターン数n0とi人目が0以外であるパターン数n1をカウント.最後に1人目が他の値でも良いので,n人目が0以外のパターンをM倍しました.
おたふく.icon なるほど!!
Yuto.icon iPadでお絵描きしてみて,実装してみたらsample 1, 2は通った.惜しい気がする.
〇F問題
CarpDay.iconC問題に戻る前にチラリと見ただけ.