16C. Monitor
概要
縦横がa,b以下で比がx:yになる最大のサイズを求める
比はgcdをとってそれぞれの何倍まで取れるかを計算し、小さい方を採用する
出展
Round #16 Div.2 C
138B. Digits Permutations
概要
数字列nを並び替えてx, yを作ったとき、
x+yの下位にできるだけたくさん0が並ぶようなx, yを求める
初め条件を「n<10^5」と勘違いしてTLE
まず各桁が何個あるかを数える
10になるペアを全探索、探索自体は9になるペア→0になるペア(最後につける)→残りの順にgreedy
ソース
https://github.com/mkut/cf/tree/master/01-99/99/138B/c++.cpp(C+++)
https://github.com/mkut/cf/tree/master/01-99/99/138B/main.cpp
出展
Round #99 Div.1 B
Round #99 Div.2 D
138A. Literature Lesson
概要
後ろからk文字目の母音以降でどんな韻を踏んでいるか判断する
4単語周期で、すべての周期で同じ韻と考える
韻の種類は aaaa / aabb / abab / abba どれでも無い場合はNO
本番はk文字目以降の母音だけ考えていて落ちる
出展
Round #99 Div.1 A
Round #99 Div.2 C
121A. Lucky Sum
概要
sum { nextLucky(x) | x <- [l,r] } を求める
範囲が広いので、nextLuckyが同じところは掛け算でまとめる
出展
Round #91 Div.1 A
Round #91 Div.2 C
122B. Lucky Substring
概要
部分文字列の中でもっとも多く出現するlucky numberを求める
同じ数なら辞書順最小のものを選ぶ
無いときは-1
"4"か"7"かしかありえないのでそれを数えるだけ
ソース
なぜか"47"と"74"も考慮してしまった
コーナーケースの処理を適当にやったので分かりにくいです
https://github.com/mkut/cf/tree/master/01-99/91/122B/haskell.hs
出展
Round #91 Div.2 B
122A. Lucky Division
概要
lucky number で割りきれるかどうか
出展
Round #91 Div.2 A