Codeforces Round #841 (Div. 2) and Divide by Zero 2022 Cまで三完。CでハマってDE通せず悲しい。
— titia (@titia_til) December 27, 2022
B シグマ計算
C zero sum ranges系。平方数になるところを除く。
D 二次元Sparse tableを書いてMLEだろうと思って投げたらWA。
E 約数包除した後で貪欲でWA。
2022年12月28日水曜日
Codeforces Round #841 (Div. 2) and Divide by Zero 2022
2022年12月25日日曜日
ユニークビジョンプログラミングコンテスト2022 冬(AtCoder Beginner Contest 283)
F 平方分割的なので計算量が抑えられると信じた(正しかったっぽい)が実装ミスでWAを量産。
— titia (@titia_til) December 24, 2022
G xor基底(の最小のもの)を取ってソート。L~Rの二進数表示してbitが立っている箇所の基底xorを取る。
E - Don't Isolate Elements
2022年12月23日金曜日
HHKBプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 282)
HHKBプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 282) Fまで。Gは解説と同じDPを考えていたはずなのだが答えが合わなかったし計算量削減もできなかった。
— titia (@titia_til) December 17, 2022
D 連結部分をUnion-findで結んで、DFSで01に塗りわけ。同じ連結成分で同じ色ならダメ。
E 最大全域木
F スライド最小値
G - Similar Permutation
Ex - Min + Sum
Codeforces Round #834 (Div. 3)
F. All Possible Digits
G. Restore the Permutation
2022年12月20日火曜日
Codeforces Round #840 (Div. 2) and Enigma 2022 - Cybros LNMIIT
D 二乗DP。1,2,...,nやn,n-1,...,1を除くことに注意。
— titia (@titia_til) December 19, 2022
E 完全グラフ(クリーク)同士を繋げるのだと思うけど解き終わらなかった。コンテスト後に、頂点2のグラフを二回使うケースを忘れていたことに気付いた。
C. Another Array Problem
E. Node Pairs
Codeforces Round #839 (Div. 3)
F 変えられる箇所の個数を調べる。個数が大きい順に変化させていく。
— titia (@titia_til) December 18, 2022
G sortして、どのindexまでいけるかを調べる。周回が終わったときの、start時の値、変化量、周回中の最大値が分かれば良い。indexが+1するたび、変化量が+2、最大値が+1
2022年12月14日水曜日
Codeforces Round #837 (Div. 2)
D. Hossam and (sub-)palindromic tree
2022年12月12日月曜日
デンソークリエイトプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 280)
デンソークリエイトプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 280) Fまで。
— titia (@titia_til) December 3, 2022
D 素因数分解
E -2の回数を全探索して二項係数を使って計算。DPでやる方法が分からず苦戦。
F 重みつきUnion-find
G xとyとy-xの最大値・最小値を管理してDPすればいけるが、計算量が間に合わない。
E - Critical Hit
G - Do Use Hexagon Grid 2
2022年12月11日日曜日
yukicoder contest 369
No.2132 1 or X Game
No.2134 σ-algebra over Finite Set
2022年12月10日土曜日
AtCoder Beginner Contest 281
AtCoder Beginner Contest 281 Fまで。Gは愚直を書いた後何もできず。
— titia (@titia_til) December 10, 2022
C 初手でT%sum(A)
D DP
E 境界より大きいやつと小さいやつを管理するheapqを二つ持ってごちゃごちゃ。
F 上の桁から分けていく。Eより大分簡単では。
G - Farthest City
yukicoder contest 371 (Asakatsu Presents)
No.2157 崖
AtCoder Grand Contest 059
AtCoder Grand Contest 059 B一完でした。BがAより簡単だと結構はやく気付けたのは良かったけど、結局Aが分からず……。
— titia (@titia_til) December 4, 2022
B 重複する数字で単一の数字を減らしていく。重複する数字を[A_1,A_2,...,A_i]とつなげた後、単一の数字xに対して、A_i-x-A_iとできるならする。ないならA_i-1へ引き返す。
A - My Last ABC Problem
2022年12月6日火曜日
yukicoder contest 368
No.2125 Inverse Sum
No.2126 MEX Game
2022年12月2日金曜日
yukicoder contest 370
yukicoder contest 370 Dまで。
— titia (@titia_til) December 2, 2022
A A=Bで考えれば分かりやすいけど、入力がA,Bだったら迷った気がする。
B 二項係数で考えるより、M!から何で割るか考えた方が分かりやすい。
C 答えは1か2になるって分かったのにWAを出しまくってsubmitデバッグまでしてしまった。反省。
D 最初の)の数で調整。
No.2144 MM
2022年12月1日木曜日
Codeforces Round #836 (Div. 2)
B. XOR = Average
E. Tick, Tock
2022年11月30日水曜日
AtCoder Beginner Contest 278
AtCoder Beginner Contest 278 Fまで。
— titia (@titia_til) November 19, 2022
D q=1のとき、q=2のクエリを巻き戻す
E 各数字が存在する最大/最小の行/列を調べ、それらを全て隠す(h,w)を探す
F ゲームDP。
G [L,R]にNと偶奇が同じものがあるなら、中央を取って真似っこすればOK。L=RでNと偶奇が違うときは分からない。
G - Generalized Subtraction Game
2022年11月27日日曜日
Codeforces Global Round 24
D. Doremy's Pegging Game
E. Doremy's Number Line
F. Doremy's Experimental Tree
トヨタシステムズプログラミングコンテスト2022(AtCoder Beginner Contest 279)
E - Cheating Amidakuji
F - BOX
G - At Most 2 Colors
2022年11月23日水曜日
HACK TO THE FUTURE 2023 予選(AtCoder Heuristic Contest 016)
グラフは、「前半に1を詰めるのと後半に1を詰めるのの二通りで、辺の本数の差が辺の総数/Mにしたものたち」に加えて、「各頂点から出る辺の本数が均等なもの」をいくつか使った。Nの値とかは実験して何が良さそうか調べた。
— titia (@titia_til) November 20, 2022
最終提出で順位が10個くらい下がったけど、下振れってことで大丈夫かな……。
2022年11月22日火曜日
AtCoder Regular Contest 152
B - Pass on Path
C - Pivot
D - Halftree
E - Xor Annihilation
Codeforces Round #835 (Div. 4)
Codeforces Round #835 (Div. 4)
— titia (@titia_til) November 21, 2022
A sorted(A)[1]
B ord(s)のmax-96
C 最大値と二番目の値
D 同じ数字をまとめる
E 0の右からの累積和、1の左からの累積和。
F 二分探索。上限の値を間違えて1WA。
G startとgoalからDFSして同じ値があるか調べる。「0でない値でgoalを通り抜ける」ができないのに注意。
2022年11月12日土曜日
大和証券プログラミングコンテスト2022 Autumn (AtCoder Beginner Contest 277)
大和証券プログラミングコンテスト2022 Autumn (AtCoder Beginner Contest 277) Eまで。
— titia (@titia_til) November 12, 2022
A P.index(X)+1
C DFS
D 差が1以内で連続する数字の和。A+Aを考えると実装しやすい。
E 01BFSで良いのにダイクストラした。
F - Sorting a Matrix
G - Random Walk to Millionaire
2022年11月8日火曜日
AtCoder Beginner Contest 276
AtCoder Beginner Contest 276 Fまで。
— titia (@titia_til) November 5, 2022
C A[i]>A[i+1]となっている一番後ろの箇所を探す
D gcdにしたい。
E 隣接マスからBFS
F 正方形の右下のマスを埋めて行く感じ。BITを使って実装。
G - Count Sequences
2022年11月6日日曜日
yukicoder contest 367
No.2119 一般化百五減算
No.2120 場合の数の下8桁
2022年11月2日水曜日
AtCoder Beginner Contest 275
E DP[i][j]で、iマスでj回以内でゴールできる確率。後ろの方のマスから見る。一ヶ所iとjの書き間違いしてずっと悩んだ。
— titia (@titia_til) October 29, 2022
F 最後の値を使うか使わないか場合分けしてDP。ずっと遷移が合わず苦戦。
G - Infinite Knapsack
2022年11月1日火曜日
Codeforces Round #819 (Div. 1 + Div. 2) and Grimoire of Code Annual Contest 2022
C (()())(())の三個目の(では答えが増えないが、五個目の(では増える。一つ下のレベルのカッコが閉じれば、また答えが増えるようになる。
— titia (@titia_til) September 6, 2022
E (i,i+1,j,j+1)という四つ組か(i,i+x)という組かそれ以外かのなる。四つ組を何個作るかで場合分け。四つ組の作り方や、残りで二つ組をいくつ作れるかは事前にDP
D. Edge Split
2022年10月30日日曜日
トヨタ自動車 プログラミングコンテスト2022(AtCoder Heuristic Contest 015)
トヨタ自動車 プログラミングコンテスト2022(AtCoder Heuristic Contest 015)
— titia (@titia_til) October 30, 2022
傾けた後、さらにもう一回傾けたときのscoreの和を評価値にした。
さらにもう一手先読みして同じ評価値を使おうとしたらTLEが出てきつかった。(途中までは元の評価値を使うことにした)
2022年10月29日土曜日
yukicoder contest 366
No.2112 All 2x2 are Equal
No.2113 Distance Sequence 1.5
2022年10月28日金曜日
AtCoder Regular Contest 146
AtCoder Regular Contest 146 ABの二完。
— titia (@titia_til) August 20, 2022
A 大きい三数の入れ替え
B 大きいbitから貪欲に、ANSの最大値のそのbitを1にできるか? と考える。そのときに必要な回数をもちこし、変化させたA[i]=0としておく(その後はもっと小さいbitしか考えないので)。
C - Even XOR
D - >=<
2022年10月27日木曜日
AtCoder Regular Contest 148
D Bobが勝つためには、sample2のような真似する方法と、Mが偶数のとき、和がM/2になるものを偶数個作る方法しかない。考え方はあっていたのに実装ミスで2ペナしたのもったいなかった。
— titia (@titia_til) September 11, 2022
E - ≥ K
2022年10月24日月曜日
Codeforces Round #829 (Div. 1)
Codeforces Round #829 (Div. 1) DのTLEが取れない!
— titia (@titia_til) October 23, 2022
A 隣りにある1とー1で0を作る。
B xはx+1個欲しい
C 最初の(0の個数)個に1が何個あるか。一個ずつ期待値を計算してその和
D 空きマスからダイクストラしてTLE。PyPyで通している人がいたので高速化に走ったがダメだった。解法がまずい?
D. The Beach
yukicoder contest 365
No.2103 ±1s Game
No.2104 Multiply-Add
キーエンスプログラミングコンテスト2022(AtCoder Beginner Contest 274)
キーエンスプログラミングコンテスト2022(AtCoder Beginner Contest 274)Eまで。
— titia (@titia_til) October 22, 2022
C DFS
D 部分和問題
E bitDP
F Fraction使ってイベントソートしたが上手くいかず。
G フローだと思って考えていたけどグラフが構築できなかった。
F - Fishing
G - Security Camera 3
2022年10月21日金曜日
パナソニックグループプログラミングコンテスト2022(AtCoder Beginner Contest 273)
パナソニックグループプログラミングコンテスト2022(AtCoder Beginner Contest 273) Eまで。C~Eどれも難しかった。
— titia (@titia_til) October 15, 2022
A 階乗であることに後で気付いた。
B Bにしては実装難。
C 問題内容の把握が難しい。各数字が何番目かを予め調べる。
D 実装問題。
E 木を作る。DELETEなら親へ戻る
F - Hammer 2
G - Row Column Sums 2
2022年10月20日木曜日
AtCoder Regular Contest 151
AtCoder Regular Contest 151 BよりCがいけそうと思ってCをやっていたが、1caseがWAが取れず。遅解き二完でひどい。
— titia (@titia_til) October 16, 2022
A (0,1)のもの、(1,0)のものの個数をそれぞれ調べる。
B union-findでつなぎながら、答えを加算していく。
C 同じ数字が隣あっているものの個数を調べた後……?
C - 01 Game
D - Binary Representations and Queries
E - Keep Being Substring
2022年10月19日水曜日
Codeforces Round #826 (Div. 3)
F. Multi-Colored Segments
G. Kirill and Company
Codeforces Round #828 (Div. 3)
Codeforces Round #828 (Div. 3) E2が分からなかった。
— titia (@titia_til) October 16, 2022
B 偶数と奇数の代表を1個ずつ処理。
C 何個先にgがあるか。
D 2で割れる回数が大きい方から使う
E1 a~cを全探索。lcmを使って処理。
F 範囲がxのとき、(x-1)/2以下の全ての数を含んでいればOK。indexの最小と最大を管理
E2. Divisible Numbers (hard version)
2022年10月16日日曜日
Codeforces Global Round 23
D. Paths on the Tree
E1. Joking (Easy Version)
2022年10月15日土曜日
yukicoder contest 364 (Do you know Cherry Contest?)
yukicoder contest 364 (Do you know Cherry Contest?) Eが分からなかったのでマラソンに行った。
— titia (@titia_til) October 14, 2022
C 過去への移動回数を探索。
D 減ったとき、増えたときでの最大scoreを持つDP
F ロリハ
マラソンの最後の提出が135……まで伸びてびっくり。
— titia (@titia_til) October 14, 2022
(x, x, x)という形なら点数調べるの簡単なので、この場合に限定して乱択しました。xは1~6の範囲にしたらsampleの点数が一番が高くなったのでそれで。
No.2101 [Cherry Alpha N] ずっとこの数列だったらいいのに
2022年10月14日金曜日
ユニークビジョンプログラミングコンテスト2022 夏(AtCoder Beginner Contest 268)
ユニークビジョンプログラミングコンテスト2022 夏(AtCoder Beginner Contest 268) ABCEFの五完。
— titia (@titia_til) September 10, 2022
A len(set(A))
C Q[P[i]]=iなる配列を考えると分かりやすい。
E 差分計算。難しいがやることは分かるので頑張る。実装で双対セグ木を使った。
F (a,b)=(xの個数,数字の和)とすると、a/bでソート。
最後、DでWAが取れなかったけど、DのWAの原因はN=1の場合分けをしていなかったためでした。
— titia (@titia_til) September 10, 2022
テストケースの名前見てはじめて気付いたので、最初D飛ばしたのは正解。
G - Random Student ID
Ex - Taboo
Codeforces Round #827 (Div. 4)
F tにa以外が現れたらYES。otherwise sにa以外が現れたらNO。sもtもaのみのときは長さを比較。
— titia (@titia_til) October 13, 2022
G 使っていない中で最大のものを使う。使ったやつのbitはもう見ないので、((1<<32)-1)^xで&する。
2022年10月13日木曜日
AtCoder Regular Contest 149
AtCoder Regular Contest 149 Cまで三完
— titia (@titia_til) October 2, 2022
A 全探索できることにずっと気付かなかった。
B 片方をソート
C 3で割った余りが1,2のものを並べた後、適切に3の倍数を並べる。1+2が素数に気付かずWA。素数の最大値が10^6(正しくは2*10^6)としており3WA。
D マージテクだよね? と思うもバグらせて終了。
D - Simultaneous Sugoroku
2022年10月12日水曜日
yukicoder contest 341
No.1917 LCMST
2022年10月11日火曜日
Codeforces Round #825 (Div. 2)
D. Equal Binary Subsequences
2022年10月10日月曜日
AtCoder Beginner Contest 272
AtCoder Beginner Contest 272 Fが分からなかった。
— titia (@titia_til) October 8, 2022
A sum
B 人iが参加した舞踏会一覧を持って全探索。
C 偶奇で分ける
D BFS
E 各数が0~500になるのはいつかを調べる。答えが500以上になるなら、愚直に計算。
G Mの候補はある二数の差の約数なので、乱択する。
F - Two Strings
2022年10月9日日曜日
AtCoder Regular Contest 150
AtCoder Regular Contest 150 Cまで。ABでハマったのが痛い。
— titia (@titia_til) October 9, 2022
A 場合分けがんばる。
B 商(B/A)を一つずつ減らしていく
C 問題内容を理解するのが難しいが、理解できれば01BFS
D - Removing Gacha
2022年10月8日土曜日
Dytechlab Cup 2022
Dytechlab Cup 2022
— titia (@titia_til) October 7, 2022
B x^2~(x+1)^2で3個
C 正方形の残りの1マスとx方向y方向とも偶数マス離れた場所には行けない。最初の3マスが角にある場合、端しか行けない。
D 一つの辺しか使わない。辺ABを、直接1とnにつなぐか、1~xとx~nの距離が最短のところまで一点を運び、縮約した後、1とnへつなぐ。
E. Ela Goes Hiking
2022年10月4日火曜日
yukicoder contest 313
No.1677 mæx
2022年10月2日日曜日
yukicoder contest 362
No.2089 置換の符号
No.2090 否定論理積と充足可能性
estie プログラミングコンテスト2022(AtCoder Heuristic Contest 014)
estie プログラミングコンテスト2022(AtCoder Heuristic Contest 014) おつかれさま。
— titia (@titia_til) October 1, 2022
最後C++に書き直そうとしましたが、時間切れで終了。悲しい。
・新しい頂点のウェイト/周囲の長さ
を評価値に次の四角形を作る
・大きいウェイトの頂点に至る答えの列を元にやり直す
という感じでやりました。
estie プログラミングコンテスト2022(AtCoder Heuristic Contest 014)
— titia (@titia_til) October 1, 2022
解説放送を見て、似た考察はしていたのだけど、うーん……、という感じでした。
解説と感想をだらだら書きます。
この感想ツイートが長くなったので、こっちにまとめておきます。
序盤は、「オセロっぽいな」と思い、オセロの評価値として「自分が置ける位置の個数」が有名なことにならい、「次に作れる長方形の個数」を評価値にしようとしました。が、これで長時間回してもあまり伸びない。なので、それに代えて、
・長方形の周囲の長さ
・次におく頂点のweight
・長方形を作ったとき、新たに作れるような長方形の個数
あたりを評価値に。
最終的には、
・次におく頂点のweight/(長方形の周囲の長さ^(1~4のランダムな数))
にしました。(それをheapqに突っ込み、上位三つのうちからランダムに採用)
解説放送を見ると、weightは取り入れなくて良かったらしいので、それを消して回して実行してみたけど、うちの環境だと点数は伸びません……。(PyPyだし、実行回数が足りないのか? と思い、10倍の時間回したので比較したら多少は伸びたが、50ケースで+100万もなさそう)
解説放送で言っていた「枠」という概念にはたどり着けなかったけど、まあそれっぽいことは考えていたとは思う。
「枠」は思いつけたとしても実装に反映できたか自信ないし、評価値については及第点かなぁ。
山登り・焼き鈍しについては、
・部分的に残して作り直す
としていました。答えの列のある長方形を見て、それを作るのに必要なものたちだけでやり直す、という山登りです。
・最終スコアが大きい答えの、ランダムな長方形一つ
を残すのに加えて、weightの大きい頂点までいったものを採用したいと思っていたので、
・(スコアは悪くても)weightの大きい頂点(長方形)
を残してやり直すことも実装しました。
解説放送では、部分的に壊してやり直すと言っていて、そっちかー、という感じに。
その方が自然な山登りだけど、大きいweightのものを残したいと思ったので、考えなかった。
どのくらい差があるのかは分からないけど、weightが大きい頂点を残したい、と思ったのは筋が悪かったのかな……。
感想書いたけど、何を反省すべきかよく分からない!
高速な言語(C++かRustで書くのは考えた)で書いていれば気付けたことはあったかもしれないけど、気軽に色々試すなら慣れているPythonの方が良い、と思ってPythonで書いているので。
最後、C++に書き換えようと思ったとき、書き換え時間の見積もりがまずくて終わらなかったのは良くないけど、そんなことを反省しても、という気がするので。
2022年9月26日月曜日
yukicoder contest 361
No.2078 魔抜けなパープル
No.2080 Simple Nim Query
2022年9月25日日曜日
トヨタ自動車プログラミングコンテスト2022(AtCoder Beginner Contest 270)
トヨタ自動車プログラミングコンテスト2022(AtCoder Beginner Contest 270) Eまで。F思いつけなかったのダメ。
— titia (@titia_til) September 24, 2022
A A|B
C どこから来たかを持ってdfs
D 貪欲にとったらWAが出たので、ゲームDPを再帰で書いた。
E 何周するか二分探索。その後シミュレーション。
F - Transportation
G - Sequence in mod P
2022年9月24日土曜日
Codeforces Round #822 (Div. 2)
D. Slime Escape
2022年9月22日木曜日
UNICORNプログラミングコンテスト2022(AtCoder Beginner Contest 269)
UNICORNプログラミングコンテスト2022(AtCoder Beginner Contest 269) GH分からない。
— titia (@titia_til) September 17, 2022
C bit全探索
D dfs
E 二分探索を二回。
F 等差数列の和。がんばる。
G - Reversible Cards 2
2022年9月19日月曜日
Kick Start Round F 2022
D 平面走査(イベントソート)。BIT二つ用意して、一つは、その区間で仕事がx個ある人数は何人か? を管理。もう一つは、人数*仕事の数を管理。前者のBIT二分探索で、K人になる箇所を調べ、後者のBITで答えを出す。
— titia (@titia_til) September 18, 2022
2022年9月17日土曜日
yukicoder contest 360
No.2071 Shift and OR
No.2072 Anatomy
No.2073 Concon Substrings (Swap Version)
No.2074 Product is Square ?
2022年9月13日火曜日
Codeforces Round #820 (Div. 3)
F 9で割った余り=各桁の和%9を使う。累積和で頑張る。実装が大変。
— titia (@titia_til) September 12, 2022
G DP[i][j]=i回消して、j番目より前のTの出現まで消えているときの場合の数としてDP。i番目のTの出現を消すためには、i~x番目までのTの出現を消さなくてはいけない……というxは二分探索(または尺取り)で求められる。実装が大変。
2022年9月3日土曜日
freee プログラミングコンテスト2022(AtCoder Beginner Contest 264)
freee プログラミングコンテスト2022(AtCoder Beginner Contest 264) Fまで
— titia (@titia_til) August 13, 2022
B 1/4をお絵描きした。
C 行・列にbit全探索だが、実装が大変。
D 愚直で良い。Cよりかなり簡単。これはCとD入れ替えるべきでしょ。
E クエリを後ろから見る。実装が面倒。
F DPだが、遷移を立式するのが非常に大変。
G - String Fair
Ex - Perfect Binary Tree
2022年8月31日水曜日
AtCoder Beginner Contest 265
AtCoder Beginner Contest 265 EまでACしたけどEは嘘解法。
— titia (@titia_til) August 21, 2022
A Y円払う回数全探索
B,C シミュレーション
D 二分探索
E https://t.co/GyNtjNzmsIと同じようにやったら通った。自分のコードでは(i,j,k)で障害物にぶつかるものを列挙しているので、300^6の計算量のはず。(簡単に落ちるケースを作れた)
E - Warp
F - Manhattan Cafe
G - 012 Inversion
yukicoder contest 356
No.2035 Tunnel
No.2036 Max Middle
No.2037 NAND Pyramid
No.2038 Strange Arrange
2022年8月29日月曜日
yukicoder contest 358
No.2057 Ising Model
No.2058 Binary String
No.2059 Odd Move Nim
2022年8月20日土曜日
yukicoder contest 357
No.2042 RGB Caps
No.2044 Infinite Nim
No.2046 Ans Mod? Mod Ans!
2022年8月18日木曜日
RECRUIT 日本橋ハーフマラソン 2022夏(AtCoder Heuristic Contest 013)
・解法
Eは概ね作れたけど、Nが小さいときは無理で、そのときのフォロー方法はできませんでした(時々2000点とかになっている)。
2022年8月16日火曜日
Codeforces Round #813 (Div. 2)
Codeforces Round #813 (Div. 2) ABCとE1。Dは誤読してWAを出した上誤読に気付いた後も解けてない。
— titia (@titia_til) August 13, 2022
B 後ろから二つずつswap
C 二分探索
D 隣接要素かmin(A)*2が直径になるとは気付いたが……。
E1 kを全探索。条件を満たさないのはlcm(i,j,k)がkか2kのとき。つまり、i,jが2*kの約数のときに絞られる。
D. Empty Graph
2022年8月15日月曜日
AtCoder Grand Contest 058
C 「1と4」を「2と3」に繋ぐという方針が浮かんだが、その後の考察が進まず。
— titia (@titia_til) August 14, 2022
D、E 実験したが良い方針が出ず。DはA,Bを固定したら多項式になるっぽいのは分かった。
C - Planar Tree
2022年8月9日火曜日
Codeforces Round #810 (Div. 1)
Codeforces Round #810 (Div. 1) ABの二完。
— titia (@titia_til) July 24, 2022
A 二行以上(もしくは二列以上)が必要。
B (x,p)について、[x-p,x](傾き1),[x,x+p](傾き-1)とそれ以外に分けて処理。それぞれ、y=h-x,y=h+x,y=xの、範囲最大値を取るセグ木で処理。
C. XOR Triangle
2022年8月8日月曜日
Codeforces Round #812 (Div. 2)
Codeforces Round #812 (Div. 2) Dまで
— titia (@titia_til) August 6, 2022
B max(A[0]...A[x-1])>A[x]<max(A[x+1]...A[n])というxがあったらダメ
C 大きい方から決める
D 1~4の四人対戦は「? 1 3」を先に投げると二回で勝者が分かる。ただPyPyだと制限時間が厳しい。unratedだし他言語に書き換えたくないし、と投げてたらPyPy2で通った
E. Cross Swapping
LINE Verda プログラミングコンテスト(AtCoder Beginner Contest 263)
LINE Verda プログラミングコンテスト(AtCoder Beginner Contest 263) Eまで五完。
— titia (@titia_til) August 6, 2022
C dfs
D 左右からいくつずつ減らせるかの累積を持ち、その累積minを取る
E そのマスへ至る確率と、期待値/確率を持ってDPした。双対セグ木を二本立てた
F - Tournament
G - Erasing Prime Pairs
2022年8月7日日曜日
yukicoder contest 355
No.2028 Even Choice
No.2029 Swap Min Max Min
No.2030 Googol Strings
No.2031 Colored Brackets
2022年8月4日木曜日
yukicoder contest 277
No.1332 Range Nearest Query
2022年8月2日火曜日
Codeforces Round #811 (Div. 3)
Codeforces Round #811 (Div. 3) 二分遅れでFが通った。Dでハマったのがひどかった。
— titia (@titia_til) August 1, 2022
C 後ろから9,8,7……と並べる
D 今まで使っていない最左の文字を赤くし、できるだけ右側まで赤くできるものを選ぶ。MLEが出たから変な書き方をしたかと色々試してしまった。無限ループしていただけでした……。
G dfsするだけだが、Python/PyPyだと再帰するとREが返ってくるので一工夫必要(オイラーツアーした)。
— titia (@titia_til) August 1, 2022
こういうの再帰で書く人多いから、Pythonで通すの大変だと思ったんだけど、PythonでACしている人だと、違う解法で通してる人が多そう!?
2022年8月1日月曜日
CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!)
C 区間が大きい方ブロックしていく。サンプルにあるけど、一個だけの区間もブロック可能なことに注意。
— titia (@titia_til) July 31, 2022
E トポソ順にマージしていったら通った。計算量も答えの最大値もよく分かっていない。
D. Magical Array
第三回日本最強プログラマー学生選手権-予選-(AtCoder Beginner Contest 262)
第三回日本最強プログラマー学生選手権-予選-(ABC262) Eまで五完。
— titia (@titia_til) July 31, 2022
B 全探索
C A[i]=iとなるもの同士か、そうでないもの同士かで分けて考える。
D 選ぶ個数ごとにDP。四乗で若干不安だった。
E 次数が奇数の頂点に何個おくか。結構最初から次数は考えたはずなのに時間かかったのはダメ。
F - Erase and Rotate
G - LIS with Stack
Ex - Max Limited Sequence
2022年7月31日日曜日
AtCoder Regular Contest 145
AtCoder Regular Contest 145 Cまで三完
— titia (@titia_til) July 30, 2022
A 最初と最後の文字を見る。BAがコーナー
B Aが小さければほぼ勝ち。Bが大きければAで割った余りがB未満なら勝ち。までは良いが、細かいところを詰めるのが大変。
C 何も分からず。かなり考えた後実験したらoeisにあった。初手実験するべきだったか。
D - Non Arithmetic Progression Set
2022年7月30日土曜日
yukicoder contest 354 (オムニバス
No.2024 Xer
2022年7月28日木曜日
AtCoder Beginner Contest 261
Fは書かれている番号の小さい順に、SortedSetを使ってシミュレートしていく感じで解いたんだけど、解説見ると、転倒数でいけるらしいので、SortedSet使わなくても綺麗に書けたみたいね。
— titia (@titia_til) July 23, 2022
G - Replace
2022年7月25日月曜日
yukicoder contest 353 (オムニバス)
No.2017 Mod7 Parade
No.2018 X-Y-X
No.2019 Digits Filling for All Substrings
2022年7月23日土曜日
Codeforces Round #808 (Div. 1)
Codeforces Round #808 (Div. 1) A一完です。
— titia (@titia_til) July 16, 2022
A 後ろから見る
B 飛ばした。sum(a_n)の制約が効くんだと思うんだけど
C まずMSTを取って、そこに入らないedge x-yについてxとyの間にあるような頂点はダメ。また、xの正しい行き先よりyが小さいなら、x側の頂点はダメ。だと思うんだけど実装できない!
B. Difference Array
C. DFS Trees
2022年7月22日金曜日
Codeforces Round #807 (Div. 2)
Codeforces Round #807 (Div. 2) 遅れて参加してDまで。
— titia (@titia_til) July 15, 2022
A ソート
B 右端にない数字の和+0でない左端の数字から右端までの0の個数
C 再帰的に考える
D 0に挟まれた何個かの1がひとまとめ。左右に一個増やしたり、消したりできる。
E. Mark and Professor Koro
2022年7月20日水曜日
AtCoder Beginner Contest 260
E 「A,B」があるとき、1から開始する数列の末尾はA以上、A+1から開始する数列の末尾はB以上、B+1から開始するのはありえない。と、分かる。この累積maxを取ると、各数字から開始する数列の末項の最小値が分かる
— titia (@titia_til) July 17, 2022
G imos法やるだけだと思ったのに答えが合わない!
F - Find 4-cycle
G - Scalene Triangle Area
2022年7月19日火曜日
AtCoder Regular Contest 144
AtCoder Regular Contest 144 Cまで
— titia (@titia_til) July 16, 2022
A 5以上は繰り上がるから使っちゃダメ
B 二分探索
C iより大きいか小さいかで実験したら規則が見えた
D 実験したらhttps://t.co/CqXGwDE88Sが出てきた。これを使って形式的ベキ級数でいけるのか? と思ったが慣れてないため分からず終了。
D - AND OR Equation
2022年7月16日土曜日
yukicoder contest 352
No.2008 Super Worker
2022年7月13日水曜日
AtCoder Beginner Contest 259
F 子だけでコストを使い果たしているかどうか場合分けして木DP
— titia (@titia_til) July 9, 2022
G 問題を見て、フローだ! と思ったのにグラフが構築できず終了。うーん。