Codeforces Round 916 (Div. 3)
— titia (@titia_til) December 19, 2023
A Counter
B 大きい数を昇順→小さい数を降順
C 累積和
D 上位三個を全探索
E A[i]+B[i]が大きい方から使う
F 子孫の個数が多い枝を調べる
G1 グラフを作ってSCC
2023年12月21日木曜日
Codeforces Round 916 (Div. 3)
2023年12月20日水曜日
AtCoder Grand Contest 065
AtCoder Grand Contest 065 A一完でした。
— titia (@titia_til) December 17, 2023
A startの数を決めたら、残っているそれより小さい数へ(最も小さいときは最大のものへ)遷移するのが最適。また、たくさん個数があるものは先に使いたい。そのうちどれを最初に使うべきかは、その個数あるもの同士の隣接差から決定できる。
B - Erase and Insert
C - Avoid Half Sum
2023年12月17日日曜日
トヨタ自動車プログラミングコンテスト2023#8(AtCoder Beginner Contest 333)
トヨタ自動車プログラミングコンテスト2023#8(AtCoder Beginner Contest 333) Fで三乗DPしか思いつかずひどいことに。
— titia (@titia_til) December 16, 2023
C 全部列挙
D 木DP
E 後ろから見る。
F N-1での答えに、x=2^N-1として、1/x,2/x,4/x,...みたいなのを掛けて足すとNでの答になる。高速化が思いつかず埋め込みしようとかして破滅。
F - Bomb Game 2
G - Nearest Fraction
2023年12月13日水曜日
Kotlin Heroes: Episode 9 (Unrated, T-Shirts + Prizes!)
E A[i]>B[i]にしておく。A内の[:i]までの部分列の和のmaxは累積和とそこまでの最小値を使えば求まる。答えは、Aのmax+Bのmaxか、A[:i]のmax+A[i:]のmax
— titia (@titia_til) December 11, 2023
F 各辺の寄与を求める。寄与をソートして大きい方を*1にして良い。
H. Sum of Digits of Sums
HACK TO THE FUTURE 2024 (AtCoder Heuristic Contest 027)
HACK TO THE FUTURE 2024 (AtCoder Heuristic Contest 027)
— titia (@titia_til) December 10, 2023
・序盤は、「各マスを何ターンごとに訪れるのが最適かは二分探索で分かる」というのを利用しようとしていたが上手くいかず断念。
AtCoder Beginner Contest 332
AtCoder Beginner Contest 332
— titia (@titia_til) December 10, 2023
C "0"で分ける。
D bfs
E N*3^NのDP。PyPyじゃTLEでRUSTに直した。
F (a,b)と(c,d)→(a*c,b*c+d) を遅延セグ木に乗せる。ずっと双対セグ木でいけると思い、いけないと気付くまで時間かかってしまった。
F - Random Update Query
estie プログラミングコンテスト2023 (AtCoder Regular Contest 169)
estie プログラミングコンテスト2023 (AtCoder Regular Contest 169) AB二完でダメ。
— titia (@titia_til) December 9, 2023
A 二項係数で寄与を表せる。
B 尺取りで和Sでどこまでいけるか求めた後DP。尺取りをバグらせた。
C DPは無理そうだから、包除原理かと思ったが、解説見たら違ったみたい。