AtCoder Regular Contest 176 (Sponsored by Mynavi) Cまで三完。
— titia (@titia_til) April 21, 2024
A (j-i)%NをM個選び斜めにおいていく。
B M=K+1の場合は別に計算。N<Mなら答えは2^N。そうでないとき、K=0に帰着。2^N%(2^M+1)は2^(N-M)%(2^M+1)と一致する。
C Cが小さい方から見て頑張って場合分け(ABより考え方は楽だと思った)
2024年4月28日日曜日
AtCoder Regular Contest 176 (Sponsored by Mynavi)
2024年4月25日木曜日
Educational Codeforces Round 163 (Rated for Div. 2)
Educational Codeforces Round 163 (Rated for Div. 2) Eまで。
— titia (@titia_til) March 15, 2024
A AAとBBを繰り返し。
B 今までの最大値を管理。
C DPというかDFSした。
D 幅hでh個連続で一致していれば、答えをhにできる。
E たとえば頂点5k=5なら 4 5 1 2 3とすればクリークにできる。この繰り返し。
F. Rare Coins
2024年4月23日火曜日
Codeforces Round 940 (Div. 2) and CodeCraft-23
D A[i]の最上位bitがbだとすると、l~i+1の累積xorでbが立っている/立っていない個数、i+1~rの累積xorでbが立っている/立っていない個数を調べて、l~rの累積xorではbが立っていないような個数を掛け算して求める。方針が立ってから、添え字とかで非常に苦労した。
— titia (@titia_til) April 21, 2024
E. Carousel of Combinations
2024年4月22日月曜日
AtCoder Beginner Contest 350(Promotion of AtCoderJobs)
AtCoder Beginner Contest 350(Promotion of AtCoderJobs)Fまで
— titia (@titia_til) April 20, 2024
A ABC000はない!
C Aの逆関数を用意して頑張る
D Union-findで、各連結成分に含まれるノード数xに対してx*(x-1)/2の総和からMを引いた。
E 期待値DP。
F 構文解析。再帰でreturnして文字をつなげていくとTLE。dfsっぽく直してAC。
G - Mediator
2024年4月20日土曜日
yukicoder contest 428
No.2732 Similar Permutations
No.2733 Just K-times TSP
No.2734 Addition and Multiplication in yukicoder (Hard)
2024年4月18日木曜日
AtCoder Beginner Contest 349
AtCoder Beginner Contest 349 Eまで五完。F高速化すればいける? と思ってWAを量産。
— titia (@titia_til) April 13, 2024
A -sum(A)
B Counterで頑張る
C 部分列を判定
D セグ木のイメージでやったけど貪欲でいいよね。
E 再帰で実装
F 約数の個数^2のDPにはなった。約数じゃなくて素数でいけそうと終了間際に気付いた。
F - Subsequence LCM
2024年4月15日月曜日
Educational Codeforces Round 164 (Rated for Div. 2)
Educational Codeforces Round 164 (Rated for Div. 2)
— titia (@titia_til) April 12, 2024
A m個均等に分けて一番大きいのを除く
B A[0]ではない数のindexの間にある個数
C できるだけ差を小さくする
D 難読。理解できればDP[i]でi個の場合は何通りか持ってDP
E 加算される箇所が√max(A)になるはずと思って実装したがWAでした。
E. Chain Reaction
2024年4月14日日曜日
Codeforces Round 939 (Div. 2)
Codeforces Round 939 (Div. 2) Cまで三完。Cまで遅いのはやる気がなかったせい。Dは真面目にやっていたのに、一時間あって実装終わらなかったのひどい。
— titia (@titia_til) April 13, 2024
A min(A[0]-1,Q[i])
B 二個あるものしか点数にならない。
C 縦・横・縦・横……とすれば良い。
D ハノイの塔みたいなやつ。再帰で実装がんばる。
D. Nene and the Mex Operator
2024年4月13日土曜日
yukicoder contest 427 (ゲーム問題コンテスト)
No.2724 Coprime Game 1
No.2725 Coprime Game 2
No.2726 Rooted Tree Nim
2024年4月10日水曜日
Codeforces Round 938 (Div. 3)
E kを1~nについて双対セグ木を使って調べる。……で良いと思ったんだけど定数倍高速化しないと通らず何か間違っているかも。
— titia (@titia_til) April 8, 2024
F 「1~4全て偶数」「1,2,3が奇数、4が偶数」のいずれか。最短でそこへたどりつくものを調べて、2ずつ何回減らせるか。
G DPで、gcd候補のうち必要なものを持つ。
H. The Most Reckless Defense
2024年4月8日月曜日
yukicoder contest 426
No.2716 Falcon Method
No.2717 Sum of Subarray of Subsequence
No.2718 Best Consonance
2024年4月4日木曜日
ユニークビジョンプログラミングコンテスト2024 春(AtCoder Beginner Contest 346)
答え二分探索で上限の値を間違えていた(N+1とかにしてたけど、10^17+1に直した)ことは愚直実装と比較して気付きました。(いくら経っても答えが違うのが現れないので、短いケースにはないんだな、と)
— titia (@titia_til) March 23, 2024
G - Alone
2024年4月3日水曜日
AtCoder Beginner Contest 347
E ある数字がいつ変わるのかを押さえる。値は累積和で加算。
— titia (@titia_til) March 30, 2024
G 焼きなましにしか見えないが通らない→PyPyじゃ無理なのかと思いRUSTに直そうとしたが間に合わなそう。ダメ元で温度を変えて投げてみる→通った!!
F - Non-overlapping Squares
April Fools Day Contest 2024
C. They Have Fooled
D. Are You a Procrastinator?
G. Mathematician Takeover
2024年4月2日火曜日
AtCoder Grand Contest 066
AtCoder Grand Contest 066 一問も解けなかったらどうしようという不安がなかったわけではないけど、本当に一問も解けませんでした!
— titia (@titia_til) March 31, 2024
A (i+j)%2で分ける方針を主に考えたが失敗。あとは色々な貪欲とか投げた。
B 頑張って探索したがN=19までしか作れず。
A - Adjacent Difference
B - Decreasing Digit Sums
2024年3月29日金曜日
第10回 Asprova プログラミングコンテスト(AtCoder Heuristic Contest 023)
2024年3月25日月曜日
AtCoder Regular Contest 175
AtCoder Regular Contest 175 C詰め切れず。
— titia (@titia_til) March 24, 2024
A 全員左のを取るか全員右のを取るしかない。自分の順番のときに選択肢がない人が何人いるか調べる。
B 変更する貪欲か、同じ個数まで変更した上で、入れ替える貪欲か。入れ替えるときは、累積和が負になったところで一番の右の"("と入れ替える。
C - Jumping Through Intervals
D - LIS on Tree 2
2024年3月24日日曜日
Codeforces Round 936 (Div. 2)
D. Birthday Gift
2024年3月21日木曜日
Codeforces Round 935 (Div. 3)
F. Kirill and Mushrooms
yukicoder contest 422 (第1回 競技プログラミング講習会作問企画コンテスト)
No.2683 Two Sheets
No.2684 折々の色
No.2685 Cell Proliferation (Easy)
No.2686 商品券の使い道
2024年3月20日水曜日
モノグサプログラミングコンテスト2024(AtCoder Beginner Contest 345)
モノグサプログラミングコンテスト2024(AtCoder Beginner Contest 345) ABCDFの五完。
— titia (@titia_til) March 16, 2024
C 各文字何個ずつあるか。
D 左上の使っていない頂点から決める。全部の長方形を試す。
E 計算量N*K*Kから落せず。
F 木(森)にして葉から貪欲。
E - Colorful Subsequence
2024年3月18日月曜日
Codeforces Round 934 (Div. 1)
Codeforces Round 934 (Div. 1) ちょっと調子悪そうなので後ろの問題から考えてダメだったら撤退しよう、とD1を開いたら、一時間ちょっとで解けた(つもり)なんだけど提出する勇気が湧かなかった。ごめんなさい。
— titia (@titia_til) March 16, 2024
自分は、ratedコンテストで後ろの方の問題から先にやるのは向いてなさそう。
Codeforces Round 934 (Div. 1) 未提出
— titia (@titia_til) March 16, 2024
B Manacherで長さ-2まで判定すれば全部同じかabab型か分かりそう。
D1 「DP[i][j]で値はi,次の値はj以上」、「DP2[i]で次は何でも良いが、値はi」とすると遷移式が立った。PyPyだとTLEなのでC++に直すのに時間かかった。(+modして%modしなくてはいけないのね)
A. MEX Game 1
AtCoder Regular Contest 174
AtCoder Regular Contest 174 ABDの三完。
— titia (@titia_til) March 17, 2024
A 連続部分和の最大値・最小値を求める。
B +2優先か+1優先か。
C 漸化式立てて大学受験数学みたいな計算すれば良いでしょ? から式を整理しきれず終わった……。
D 実験すると、xになりうるのは(10**i)-[0,1,2]のみ。
C - Catastrophic Roulette
E - Existence Counting
2024年3月16日土曜日
yukicoder contest 421 (NUPC2023)
No.2673 A present from B
No.2674 k-Walk on Bipartite
No.2677 Minmax Independent Set
No.2678 Minmax Independent Set (Hack)
2024年3月13日水曜日
yukicoder contest 415
yukicoder contest 415 Dまで。
— titia (@titia_til) January 19, 2024
A 全探索した。
B 大きい数から貪欲に。
C,D 次の数と次のgcdを探索する。Cなら、最後の数と互いに素で、前のgcdより大きいやつをnextgcdとし、その倍数となるものを付け加えた。Cは後ろからDは前から作った。CとDほぼ同じ方針で解けたのにDに時間かけたのは反省。
No.2611 Count 01
Codeforces Round 933 (Div. 3)
F 最大幅のところを変えたい。D,Fをソートして尺取りしてd+fが最大幅の中間になるあたりを見る。
— titia (@titia_til) March 11, 2024
G グラフを拡張してBFS
2024年3月12日火曜日
AtCoder Regular Contest 173
ただし、これだと端がおかしくなるので別計算。計算量は未証明。
— titia (@titia_til) March 10, 2024
端がダメなことはランダムテストを書いて気付いた。
Dは各点からダイクストラ差をgcd取って判定……みたいなのを提出したけど、的外れっぽいね。
D - Bracket Walk
E - Rearrange and Adjacent XOR
2024年3月11日月曜日
yukicoder contest 420
No.2666 Decreasing Modulo Nim
トヨタ自動車プログラミングコンテスト2024#3(AtCoder Beginner Contest 344)
トヨタ自動車プログラミングコンテスト2024#3(AtCoder Beginner Contest 344) Eまで。体感ではDが簡単でEが難しかったのだが、AC人数は配点通りといった感じなので自分の感覚がおかしかったよう。
— titia (@titia_til) March 9, 2024
C 全列挙
D DP
E 座標圧縮して、左右を管理。
F - Earn to Advance
2024年3月10日日曜日
Codeforces Round 931 (Div. 2)
D1 高々長さ3で十分そう(未証明)。長さ2と長さ3(n,最大bitのみのやつ,m)をチェック
— titia (@titia_til) March 1, 2024
D2 実験すると、bit_countが偶数のときに勝てる。最大bitのみのやつを投げればOK
E. Weird LCM Operations
2024年3月7日木曜日
Codeforces Round 932 (Div. 2)
Codeforces Round 932 (Div. 2) Dまで。
— titia (@titia_til) March 5, 2024
A sかs[::-1]+sか。
B 全体のMEXと同じMEXとなる配列二つに分割できるか?
C bでソート。DP[i][x]をiまででx個作れるときのコストのに似たやつとする。コストではなく、そこまでのAの合計-B[i]を入れると判定できる。
D 図を描くとそれぞれ線分なので足し引き。
E. Distance Learning Courses in MAC
2024年3月5日火曜日
yukicoder contest 419
No.2656 XOR Slimes
2024年3月3日日曜日
AtCoder Beginner Contest 343
AtCoder Beginner Contest 343 Eが解けずGは見ていない。
— titia (@titia_til) March 2, 2024
C 全列挙
D 種類数と各数字が何回出ているかを持つ
E 全探索。体積の計算をちゃんと書いたつもりなのにWA二個が取れない。
F セグ木
E - 7x7x7
G - Compress Strings
2024年3月1日金曜日
Codeforces Round 930 (Div. 1)
Codeforces Round 930 (Div. 1) A一完でさようなら。
— titia (@titia_til) February 29, 2024
B 残り一時間くらいで計算方法は分かったのに答えが最後まで合わなかった。累積和の添え字?
A. Bitwise Operation Wizard
B. Pinball
2024年2月29日木曜日
ユニークビジョンプログラミングコンテスト2023 クリスマス (AtCoder Beginner Contest 334)
F 遅延セグ木でDP。遅延セグ木問題で二回失敗していたので通せて良かった。
— titia (@titia_til) December 23, 2023
G lowlinkを考えたがよく分からず、https://t.co/UThdxKgLmK を参考にdynamic connectivityのライブラリを拝借して通そうとしたが失敗。
G - Christmas Color Grid 2
Codeforces Round 929 (Div. 3)
F 岩が動くのではなく、自分が右下か、下へ2マス移動できると考えてbfs。最後の列にたどりついたら、その時間におけるゴールの位置を計算し自分との距離を引く。
— titia (@titia_til) February 27, 2024
G 全部で8パターンしかないので、左上4*4を全パターン列挙する。
2024年2月28日水曜日
yukicoder contest 418 (Re: start!)
No.2651 [Cherry 6th Tune B] Complex комбинат
No.2652 [Cherry 6th Tune N] Δρονε χιρχλινγ
2024年2月27日火曜日
鹿島建設プログラミングコンテスト2024(AtCoder Beginner Contest 340)
鹿島建設プログラミングコンテスト2024(AtCoder Beginner Contest 340) G分からない。
— titia (@titia_til) February 10, 2024
A シミュレーション。Bが出るまで+Dする。
B シミュレーション
C メモ化再帰
D ダイクストラ
E 双対セグ木を使った
F 拡張ユークリッドの互除法
G - Leaf Color
2024年2月25日日曜日
Educational Codeforces Round 162 (Rated for Div. 2)
Educational Codeforces Round 162 (Rated for Div. 2) Dまで。
— titia (@titia_til) February 23, 2024
A 左右の0を削除。残った0の個数
B 近い方から攻撃。各Monsterを何ターン目に倒せるか。
C 1が少なくとも何個存在するか考える
D 左右に二分探索。部分和がA[i]を超え、A[i+1]やA[i-1]と別の要素が存在する場所を探す。
E. Count Paths
HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)
HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342) Eまで。FのWAが取れなかった。
— titia (@titia_til) February 24, 2024
C 最終的に何の文字になるか
D 素因数分解してがんばる
E ダイクストラ
F 自分についても「L'以下なら加算」という戦略を取るべきだと思い、L'を三分探索したがWAが二個。
F - Black Jack
G - Retroactive Range Chmax
2024年2月23日金曜日
トヨタ自動車プログラミングコンテスト2024#2(AtCoder Beginner Contest 341)
トヨタ自動車プログラミングコンテスト2024#2(AtCoder Beginner Contest 341) G分からない。
— titia (@titia_til) February 17, 2024
B シミュレーション
C シミュレーション
D LCM周期
E 隣接要素を見ると端だけ変化。セグ木で管理。
F Wの値が小さい頂点から、一個で何回操作できるかを決めていく。各頂点についてナップザックDPをする。
G - Highest Ratio
2024年2月21日水曜日
think-cell Round 1
think-cell Round 1 D2もEも分からなかった。
— titia (@titia_til) February 17, 2024
A ソート。
B 大小交互におく。
C A[i]+iで大きい順にソート。xが二つ以上あるならx-1にする。
D f(S)の求め方は、1がきたとき、1、010、001100、……のいずれかを置くというDPで解ける。このDPをまとめようとしたが分からず。
D2. Sum over all Substrings (Hard Version)
E. 2..3...4.... Wonderful! Wonderful!
2024年2月20日火曜日
AtCoder Regular Contest 172
AtCoder Regular Contest 172 Cまで。
— titia (@titia_til) February 18, 2024
A 大きい方から分割できるか調べる。H*Wのうち短い辺が一番小さいものの右上におき、二つの長方形に分割した。(未証明)
B 連続N-(K-1)文字は異なる
C 差分計算。A・Bより簡単じゃない?
D - Distance Ranking
E - Last 9 Digits
2024年2月16日金曜日
Codeforces Round 926 (Div. 2)
Codeforces Round 926 (Div. 2) Dまで。Dで間違った解法に突き進んでしまった。
— titia (@titia_til) February 15, 2024
A max-min
B 最後の一個以外は、割る2の切り上げでOK。
C 難しい。毎回、勝てばaを超えるような枚数を賭けると仮定する。
D 木DP。最初、四個以上のsetは全部ダメだと勘違いし、方針転換するまで時間かかった。
F. Sasha and the Wedding Binary Search Tree
2024年2月14日水曜日
Codeforces Round 925 (Div. 3)
Codeforces Round 925 (Div. 3)
— titia (@titia_til) February 13, 2024
A 前計算で全探索した。
B 累積和
C 一文字目か最後の文字を前後から削る。
D mod yで分けた後、mod xで分ける。
E 後ろについている0の数が多いものから削る。
F SCC
G 1と2を往復する間に3、4を挿入する。重複組み合わせ。
D. Divisible Pairs
2024年2月10日土曜日
yukicoder contest 417
yukicoder contest 417 Eまで。
— titia (@titia_til) February 9, 2024
B Q秒後増えているか見るのが基本。そこまででZeroやOverflowがおきないかチェック。
C mod X+Yで分類。Aの人数-Bの人数でソート
D 不等式の評価。イコールのない不等号を評価するとき、-epsするのを忘れてWA。
E DP
No.2626 Similar But Different Name
2024年2月7日水曜日
トヨタ自動車プログラミングコンテスト2024#1(AtCoder Beginner Contest 337)
トヨタ自動車プログラミングコンテスト2024#1(AtCoder Beginner Contest 337) Eまで。Gは既出を疑ったのに、「全方位木DP」とかで検索して問題文では検索しなかった。負け。
— titia (@titia_til) January 20, 2024
D 尺取り
E 2ベキを使う。半分ずつに分ける。2ベキのときで答えを出してNの場合に使った。
F - Usual Color Ball Problems
G - Tree Inversion
Codeforces Round 923 (Div. 3)
F LOWLINKで橋を列挙。最初、次数1の点を消していき残った辺からならOKと勘違いし、なぜMLEが出るか気付かず迷走。橋を使えば良いと気付いた後も、連結成分ごとにやらないと変なことになると気付かずMLEやWAを量産。
— titia (@titia_til) February 6, 2024
G. Paint Charges
2024年2月5日月曜日
AtCoder Regular Contest 171
AtCoder Regular Contest 171 Bまで。
— titia (@titia_til) February 4, 2024
A ルークをA個おいたとき、ポーンがおける個数はmin(N-A,(N+1)//2)*(N-A)
B index i<j<kが同じ数字かつP[k]=kなら、P[i]=P[j]=kとしなくてはダメ。あとは、操作で値が変わらないように決める。
C 木DPしようとしたが、遷移できず終了。考察が間違っていたっぽい。
C - Swap on Tree
D - Rolling Hash
2024年2月4日日曜日
日本レジストリサービス(JPRS)プログラミングコンテスト2024(AtCoder Beginner Contest 339)
日本レジストリサービス(JPRS)プログラミングコンテスト2024(AtCoder Beginner Contest 339)
— titia (@titia_til) February 3, 2024
B 実装頑張る。
C 累積和の最小値。
D BFS。PyPyだと1caseTLEが取れず、chatGPTさんにC++に直してもらった。
E セグ木DP
F PyPyだと愚直で通るけど、良いの?
D - Synchronized Players
F - Product Equality
G - Smaller Sum
2024年2月3日土曜日
Codeforces Round 922 (Div. 2)
Codeforces Round 922 (Div. 2) 頑張って書いたEがTLEして悲しい。
— titia (@titia_til) January 30, 2024
A m=1なら-1
B 片方をソートした(未証明)
C a>bにするかa<bにするかを決めて貪欲
D 二分探索して判定問題をセグ木DP
E 最初にA[1]を決め、後は半分ずつに分けていく。クエリ数が分かってないけど余裕ありそう、と予想した。
E. ace5 and Task Order
F. Caterpillar on a Tree
2024年1月28日日曜日
Codeforces Round 921 (Div. 1)
Codeforces Round 921 (Div. 1) A一完でした。順位表を見るとB飛ばすべきだったのかも……。
— titia (@titia_til) January 27, 2024
A n回、全ての文字を使い切るindexを調べる。その最後に現れた文字をもっておく。
B stoqさんのブログ(https://t.co/wF4sfpn6ct)のコードを使わせてもらった。……が、WA on 8が取れず。えー。
B. Space Harbour
AtCoder Beginner Contest 338
AtCoder Beginner Contest 338 Eまで。Fの解説見たら確かに、となった。
— titia (@titia_til) January 27, 2024
B Counter
C 料理Aを何個作れるか全探索。N<=10。
D 平面走査っぽくやると差分計算に持ち込める。難しい。
E 円形じゃない場合での、区間同士が重ならないか判定したら通った(未証明)。解説を開いたら証明略と書いてあった。
F - Negative Traveling Salesman
G - evall
2024年1月27日土曜日
yukicoder contest 416
No.2616 中央番目の中央値
No.2617 容量3のナップザック
No.2618 除霊
No.2619 Sorted Nim
2024年1月22日月曜日
AtCoder Regular Contest 170
C S[i]=1のときはmexを入れるしかない。S[i]=0のときは、1~Mまでで使っていない要素を埋めるように入れるか、埋めないように入れるかでDP。
— titia (@titia_til) January 21, 2024
D - Triangle Card Game
2024年1月20日土曜日
Codeforces Round 920 (Div. 3)
Codeforces Round 920 (Div. 3) 遅刻してEまで
— titia (@titia_til) January 15, 2024
B (A[i],B[i])=(0,1),(1,0)となるindexの個数のうち多い方
C DP(要素一個)
D Aを昇順、Bを降順ソートして組合せ。どこまで左から組み合わせるか全探索
E yの差で分類して、攻撃側と壁の間に防御側を挟み込む。攻撃側と壁との距離で判定
F 平方分割?
F. Sum of Progression
2024年1月19日金曜日
AtCoder Beginner Contest 335(Sponsored by Mynavi)
AtCoder Beginner Contest 335(Sponsored by Mynavi) Fまで。
— titia (@titia_til) January 6, 2024
B for文を三つ。
C [(1,0),(2,0),...]の逆順のリストを用意し、後ろに追加していく。
D ぐるぐる
E 同じ数字をUnion-findでまとめてダイクストラ
F 後ろから見るとDP。xおきの総和を知りたいが、愚直だと間に合わないので平方分割。
G - Discrete Logarithm Problems
2024年1月14日日曜日
Codeforces Round 919 (Div. 2)
D 操作をx回行ったときのAの長さをもっておき、クエリkが何回目の操作で超えるかを二分探索。その操作が倍加のものだったら、余りを取って同じことを行う。
— titia (@titia_til) January 13, 2024
E DP[x][y]を直前にy個0があり、良いstringの個数がx個である個数というDP。x,yを小さい方からやっていけば三乗になるけど、三乗で通るのかな。