2025-10-01から1ヶ月間の記事一覧
https://atcoder.jp/contests/abc429/tasks/abc429_e各点でSの点までの距離を求めればよいです。ただし、異なる2つのSの点を求めなければなりません。 // Hit and Away #![allow(non_snake_case)] //////////////////// library //////////////////// fn read<T: std::str::FromStr></t:>…
https://atcoder.jp/contests/abc429/tasks/abc429_dC以上になった人の数が何人なのかと、それが何回有効かを別にカウントするとコーディングが楽になります。前者は尺取り法的に計算すると計算量が減ります。 // On AtCoder Conference #![allow(non_snake_…
https://atcoder.jp/contests/abc428/tasks/abc428_e木の直径は、適当な点Aから最も遠い点Bを探して、さらに点Bから最も遠い点Cを探します。BとCの距離が直径です。そして、BとCから直径の半分の距離の点があるのでその点Mが木中点です(距離が奇数ならBとC…
https://atcoder.jp/contests/abc428/tasks/abc428_dyの桁数を決めれば整数の範囲が決まるので、平方根のfloorを求められればその範囲の平方数の個数が求められます。 // 183184 #![allow(non_snake_case)] use std::cmp::{min, max}; //////////////////// …
https://atcoder.jp/contests/abc427/tasks/abc427_f長さ60ですが、半分だと230通りの部分列があるわけではなく、隣は空けないといけないのでフィボナッチ数になって200万程度しかないので全部を部分列でMの剰余がいくつになるかを求められます。前半と後半…
https://atcoder.jp/contests/abc427/tasks/abc427_e幅優先探索をすればよいですが、同じ盤面を繰り返すかもしれないので、同じ盤面には移れないように盤面をHashSetのキーにできるようにします。そのためにHashとCloneを実装します。マス目はゴミがあるかど…
https://atcoder.jp/contests/abc427/tasks/abc427_dKが10以下なので、各ターンで各々のノードが必勝かどうかを調べます。後ろのターンから決めます。 // The Simple Game #![allow(non_snake_case)] //////////////////// library //////////////////// fn …
https://atcoder.jp/contests/abc426/tasks/abc426_d0か1を同じところに固めないといけないですが、そこ以外は同じ文字は2回の操作、違う文字は1回の操作が必要です。なので、0の最も大きな塊と1の最も大きな塊を探します。 // Pop and Insert #![allow(non_…