あさかつ09/23 配列の扱い方いろいろ(逆順、文字列を置換してうまく配列にsplitさせる)

 配列を逆から読んでくときの書き方

atcoder.jp

  1. for i, c in enumerate(S[::-1], start=1):
  2. if c == '>':
  3. cnt += 1
  4. else:
  5. cnt = 0
  6. ans[~i] = max(cnt, ans[~i])


この解法すごい、あまりなぜ正しいかわかってないけど

t.co

  1. S = S.replace("><", ">,<").split(",")

 連続した文字列を取り出すのにこういう風にreplace -> splitさせるのはなるほどというかんじ

あさかつ09/20 そろそろいもす法なるもののお勉強をしよう

 09/20
1. 一問目からちょっと迷った。2の累乗の数のどれかを出力すればいいのね。
2. 無駄にビットとか使ってしまったけど8種類なら列挙できる
3. print(",".join(list(input().split())))
4. なんかビットをうまいこと使って反転させればいいのではと調べていたが時間切れ
#あさかつ考察

参考になった。そろそろビットの使い方もしっかり取り組んでいきたい感もある。

t.co

t.co

昨日のDもBITだかいもす法だかという話をチラ聞きした。さすがに勉強するか。それなりに頻出?

とりあえず朝ごはん食べて休憩してそのうちいもす法のお勉強でもするか。

ABC179 三歩進んで二歩下がる的な

 C問題に無駄に時間溶かして、DがTLE、E問題を解けず。これはレート下がる予感。E問題は丁寧にやれば自分には解けた問題のはず。Cが最初解けなかったのもあって、C~E問題をうろうろしてしまった。Cが解けたらEに集中すべきだった。

今日うまくいけば緑行けなくもなかったと思うが、、、まあ次回に期待ということで。Cに時間かかってもE解けてればねじ伏せられたはずなので実力不足ですね

D普通のDPっぽいやつはかけたんだけどなあ・・・解説見てもパッとわからないなあ・・・・

E問題は発想はわかるんだけどなんか実装が難しいこの二問は明日にでもまあ復習するか。

あれ二回前ぐらいにも似たようなループしていく問題ありませんでしたっけ??

 

いろいろ検索してたら

Dに関してimos法

Eに関してダブリング

という概念を目にした。まあそのうち調べよう。

あさかつ09/18 あまり手ごたえはなかったが4完したということで満足しておく回

 まあ3問目でスムーズに再帰かけたのはよかったかな。

手ごたえという手ごたえはなかったが、おもしろい問題が多かったとも思う

あさかつ09/17 日付はdatetime型 パスカルの三角形には左から二番目に1,2,3..と正整数が順に現れる

 09/17
1. 解法自体はとりあえず愚直に日付足して条件を見るだけだったが、pythonのdatetimeの扱いが初めてで難しかった。
2. 最近コンテストで解いた。その時は算数チックな解答だったが、プログラミングっぽく部分和を使って解いた。
3. 解くの三回目だがかならず1WAしてしまう。
#あさかつ考察

4. TLE。ちょっと集中力が切れかけていたのもあり、素直にパスカルの三角形を生成していく方法を試したが・・・あれ解説ないな

4番、他の人の解説を拝見した。A+1個から2個を取り出す方法はA・・・
自分で手元でパスカルの三角形を書いて、左から二列目に1, 2, 3, 4...という数字が並んでいるのになぜ気づかなかったのか笑

こんなん本番で気づかなかったら引きずる・・・

三完だったけどパフォはぼちぼちでした。

 

日付の扱い方

www.sejuku.net

あさかつ09/16 眠すぎてタイポしまくったがパフォーマンスは悪くなかった回