Qtatsu
banner
qtatsu.bsky.social
Qtatsu
@qtatsu.bsky.social
17 followers 13 following 260 posts
ゆうがたまでねてる 競プロ(AtCoderアルゴ水/ ヒュ青) https://atcoder.jp/users/kyutatsu Scala/C++/Python/TypeScript/Django/React お絵描き メモ用アカウント
Posts Media Videos Starter Packs
ジャッジ重いと思ったら今日ARCやっているのか
精進はやめてお絵描きでもしようかな
atcoder.jp/contests/abc...
解いてなかった問題みてるんだけど、419Eこれ水色前半なんですか...
全くわからないので解説ACしたけど、これ系はすごく難しく感じる(単にDPが苦手??)。昨日のEFの方がまだ希望持てる。
(練習含め)グリッドの問題で実装大変そうと思ってからまともな時間で通せたことほぼないけど、組み合わせは書き出してみたら案外解けることがあるのでそうすべきなのかも
どちらも解けてないけど、EよりFの方を見た方がよかったかも
ぱっと見でEの方が少なくとも方針は立ちそうと思ったけど、Fは分岐を全部書き出していけば時間内に気がつきそう。
賢い...
図を見ながら書き出してみて、やっと理解できた。

こういう工夫、どこまで知っておいてどの部分をコンテスト中につめる必要があるのだろう。
Reposted by Qtatsu
ABC431-E

マスの4辺に以下のように 0,1,2,3 と番号を割り振って、
```
2
+-+
0| |3
+-+
1
```

その上で↓みたいなコードで移動コスト 0 か 1 かを振り分けた
```
V<ll> cs = {1, 1, 1, 1};
if (g[h][w] == 'A') cs[x^3] = 0;
if (g[h][w] == 'B') cs[(x+2)%4] = 0;
if (g[h][w] == 'C') cs[x^1] = 0;
```
解法自体は引き出しを増やすと徐々に多少初見感があってもわかるようになってくる感じがするけど、具体的な実装力は個別に理解してて、ちょっと見たことない形式だと応用が全く効かなくなってしまう感じがする。
Eを1300人以上が通しているのか...
実装しやすいようにちゃんとデータの持ち方とか設計しないといけないんだろうけどコンテスト時間中にできる気がしない
ABC431 4完ABCD

C Hを回し、条件に合うBをwhileで探す尺取りみたいな感じ。
D DP[Nまでみた][HとBの今の差分]とする。マイナスにならないように最初Wの和を詰めておく。mapでやろうとしてlogついてTLE、N行全部持とうとしてMLEで苦しかった。

E マスごとにA,B,Cの状態があるとして、本来と異なる状態へ移動するときにコスト+1と考えて01BFSをすると良さそう? 移動の実装がうまくできず....
受け付けでメモ的に苗字だけカタカナで書くことはあるけど、漢字フルネームで書くことが本当に少なくなった。
割と久しぶりに自分の名前をペンで手書きしたかもしれない
電子化がすごいと実感
体調不良なのも影響してるけど睡眠を0:00-9:00で取れた。普段からこの時間帯に眠れると良いのだけれど
F解説AC
これは半分全列挙だと言われても自力では無理かも... 真ん中を含む/含まないで分けることとか、fib N/2 で抑えられるとか分からないと思う( 後者はスキップするから減りそう、くらいはわかるかも )
atcoder.jp/contests/abc...
E解説AC
ゴミの数は残った範囲を毎回2重ループしてもとめればいい、という発想にこの時点ではいくら考えてもたどりつかなかったと思う。
atcoder.jp/contests/abc...
台所の電球変えたらすごく明るくなった。
精神に良さそう。
ノートアプリ、今はobsidianを使ってるんだけど近年のマークダウンエディタは分量増えても超高速だな。書いてる部分ごとに変換んしてるんだろうか。
エンジニアになったことはboostnoteを使ってたけど、おそらくページごと変換してるらしくて行数が増えるとラグがすごかった記憶
ABC430C
今更なんだけど、累積和+二分探索するときに0を左に詰めておくことを忘れて上になってバグってることがすごく多い。
これ自体は知ってても、いざ書いてるとその場でできないんだよね...
昨日のCやっとできた(random test を書いて壊れている部分を発見)
atcoder.jp/contests/abc...
C〜Eをふらふらしてどれも合わずにいたけど、愚直のコードを書いてランダムテスト作るという意味ではEが一番やりやすそうだし、そうすべきだったのかもしれない。
今回のEみたいなケース、ランダムテストを書くようにした方がいいのかもしれないな。( 雛形は一応用意してあるんですよね... )

自力だと多分さらに30分は気づかなかったと思う。
実装、元から苦手だけど1週間やってないだけでさらに下手になってしまう。
今週は業務でも直接コード書くことが少なかったから余計にそんな感じがある。
ありがとうございます!!
完全にその通りでした...

絶対にハッシュ計算の部分で何かを間違えてるという思い込みがあって、全くそこを見ていませんでした()

atcoder.jp/contests/abc...
E、2を2回かけるひどいミスをしていたから合わなかったという前提がありつつ、ここを直しても通らないんですけど...

```
int N = A.size() * 2;
...(省略)...
vector<atcoder::modint998244353> PB(2*N+2), hash1(2*N+2), hash2(2*N+2);
```
だいぶひどい割に順位がいつもくらいだったのは人数が少ないからか