AtCoder 500点

AtCoder ABC #145 E All-you-can-eat

問題 E - All-you-can-eat 解説 他の回答を見つつ、公式解説の解法2に沿って回答を作成。 DP難しい。。。 fn solve(t: usize, abs: Vec<(usize, usize)>) -> usize { use std::cmp::max; let mut abs = abs; abs.sort_by_key(|x| x.0); let mut dp = vec![0…

AtCoder ABC #134 E - Sequence Decomposing

E - Sequence Decomposing 問題 数列 が与えられたとき、数列を単調増加となるような部分数列に分けた場合に最小のグループ数を答える問題。 解説 公式解説には「広義の単調減少列の最大の長さ」を求めれば良いとあるが、ここがあまりしっくり来ていない。 …

AtCoder ABC #131 E - Friendships

E - Friendships 問題 N頂点単純連結無向グラフで最短距離が2である頂点対がK個あるものを構築する。 解説 まず最短距離が2である頂点対が最大となるのはある1点(仮に「中心点」と呼ぶ)が他の全ての点と辺を持ち、それ以外の辺が存在しないときである。 …