けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

ソート:比較関数を設計する

AtCoder ABC 365 B - Second Best (6Q, 灰色, 200 点)

second best を求める系の問題 問題へのリンク 問題概要 個の相異なる整数 が与えられる。 この数列のうち 2 番目に大きいものについて、それが の何番目の要素であるかを求めよ。 制約 解法 (1):max と second max を管理する 1 つ目の方法として、最大値…

AtCoder ABC 308 C - Standings (4Q, 茶色, 300 点)

伝説の誤差問題!! 誤差について学べる、とても教育的な問題。 問題へのリンク 問題概要 人がコイントスをしました。各人には と番号がついています。 人目は、 回表が出て、 回裏が出ました。 人目のコイントスの成功率は と定義されます。 人 の番号を、…

AtCoder ABC 323 B - Round-Robin Tournament (6Q, 灰色, 200 点)

ペアのソート。ソートの比較関数を作る系。 問題へのリンク 問題概要 人のプレイヤー によるリーグ戦の戦績表が下のように与えられる。 7 -oxoxox x-xxxox oo-xoox xoo-ooo ooxx-ox xxxxx-x oooxoo- プレイヤーを勝ち星数が多い順に並び替えよ。ただし、タイ…

AtCoder ABC 306 C - Centers (5Q, 灰色, 250 点)

バケットを使ってもいいし、set や map を使ってもいいかもしれない 問題へのリンク 問題概要 が 3 回ずつ表れる長さ の数列 が与えられる。 を「数列 において 2 回目にその値が登場する index」が小さい順にソートせよ。 制約 考察:まず問題を掴む 最初の…

AtCoder ABC 187 D - Choose Me (茶色, 400 点)

ペア の大きい順にソートする嘘貪欲にハマってしまった方が多そうだった 問題へのリンク 問題概要 青木君と高橋君が選挙を行う。 個の町があり、 番目の町では 青木派が 人いる 高橋派が 人いる ということがわかっている。高橋君はいくつかの町で選挙活動を…

AtCoder ABC 121 C - Energy Drink Collector (5Q, 灰色, 300 点)

これでひとまず ABC 100 以降の CD 問題は全部書けた 問題へのリンク 問題概要 個のお店があって、各店 では 1 本 円のエナジードリンクを 本まで買うことができる。 全部で 本のドリンクを買いたい。最小で何円で実現できるか? 制約 考えたこと 基本的に安…