切り上げ処理
Greedy の基本でもある。 問題へのリンク 問題概要 駅 があって、駅 から駅 へと、時刻 以降、 秒ごとに発車する列車があって、移動に 秒かかる。他の駅間を移動する列車はない。また、 は の倍数であることが保証される。 各 に対して、駅 を時刻 0 に出発…
きちんとした手続きを経て求めたいところ 問題へのリンク 問題概要 個の整数からなる数列 が与えられる。この数列に次の操作を繰り返して、数列の項がすべて相異なるようにしたい。できあがる数列の項数の最大値を求めよ。 【操作】 数列から 3 個の整数を選…
問題文の理解が大変かもしれない 問題へのリンク 問題概要(意訳) 2 つの正の整数 を次のように 回更新していく。最初、 である。 回目の更新では 2 つの互いに素な正の整数 が与えられるので、 を満たすような 2 つの正の整数 を 1 つ求めて、 をそれぞれ …
結構頭がこんがらがる問題だと思う。 問題へのリンク 問題概要 あるソーシャルゲームでは、1 日につき 1 回までログインすることができ、ログインするたびに 枚のコインが得られる。 さらに、月曜日から日曜日まで 7 日連続でログインすると、そのたびに、追…
切り上げ処理! 問題へのリンク 問題概要 冬休みは 日ある。 国語の宿題は ページあって、1 日に ページ進めることができる 算数の宿題は ページあって、1 日に ページ進めることができる 1 日に国語と算数を両方進めることもできる。冬休みのうち、宿題をや…
切り上げ処理! 問題へのリンク 問題概要 鉛筆を 本以上買いたい。買うための手段として、次の 2 セットがある。いずれかのセットを選び、選んだセットをいくつか購入することとする。両方のセットを選ぶことはできない。 セット X:1 セットあたり 本あり、…
サーバル問題 (ABC 153 A) の焼き直し問題。今度は制約が大幅に強化して、long long 型についても学ぶ問題となっている。 問題へのリンク 問題概要 体力が の敵がいます。あなたは、1 回攻撃をすることで敵の体力を 減らすことができる。 敵の体力を 0 以下…
プログラミングをしていると、時々「割り算したときに余りがあったら商を 1 増やしたい」ということがあります。今回は、その処理をワンライナーで書く方法を考えましょう! 1:問題設定 早速ですが、次の問題を考えてみましょう! 問題 個のりんごに詰めて…
整数の切り上げの問題。意外と正確に解くのは大変かもしれない。 問題へのリンク 問題概要 ベースとなるアイスクリームの金額は 250 円で、高さは cm である。追加のアイスクリームは 1 個につき 100 円で、1 個追加するごとにアイスクリームタワーの高さが …
切り上げ処理の練習! 問題へのリンク 問題概要 円ある。10 円増やすことを繰り返して 円以上になるようにしたい。 10 円増やす操作を最小で何回やればよいかを求めよ。 解法 まず、 のときは、もともと 10 円を増やす必要はないので 0 回になる。 の場合は…
これ結構難しい! 数式を丁寧に立てよう。 問題へのリンク 問題概要 箱に水色のボールが 個入っている。 「箱に 個の水色のボールと、 個の赤色のボールを入れる」という操作を繰り返すことで、赤色のボールの個数が水色のボールの個数の 倍以上となるように…
切り上げ処理の問題! 問題へのリンク 問題概要 西暦 年は何世紀ですか? 解法 のとき、2 世紀 のとき、21 世紀 というように、 を 100 で割ったときの余りを切り上げたものが答えとなる。 これは、(N + 100 - 1) / 100 によって求められる。ここがピンと来…
この手の「切り上げ処理」は、もう憶えてしまおう! 問題へのリンク 問題概要 個のたこ焼きを作りたい。 たこやきを作り始めてから、 秒おきに 個のたこ焼きを作る。 個のたこ焼きを作り切るのに最低何秒かかるか。 解法 たこやきを生産するターン数は、「 …
これはちょっと難しい。 問題へのリンク 問題概要 円の買い物をした。1000 円札のみを用いて支払うとき、お釣りはいくらになるか? 解法 まず、 が 1000 で割り切れるときは、お釣りはない。つまり、0 円である。 が 1000 で割り切れないときが少し難しい。…
この切り上げ処理はぜひ憶えておこう! 問題へのリンク 問題概要 高橋君は、全 ページから成る書類を両面印刷する。両面印刷では、1 枚の紙に 2 ページ分のデータを印刷することができる。 最小で何枚の紙が必要か求めよ。 解法 が偶数のときは、 は 2 で割…
これはとても教育的な問題!! 問題へのリンク 問題概要 HP が であるモンスターとサーバルは戦っている。 1 回の攻撃で HP を だけ減らすことができる。HP が 0 以下になるのに必要な攻撃回数を求めよ。 解法 (1) を で割ったときに、余りがあるならば追加…
いい感じの複合問題。この時期の ABC-A としては少し難しめ。 問題へのリンク 問題概要 正の整数 が与えられる。 以上 以下の整数をランダムに選ぶとき、それが奇数である確率を求めよ。 解法 以上 以下の 個の整数のうち、奇数の個数を とすると、求める確…
「切り上げ処理」を要求する問題! 問題へのリンク 問題概要 2 つの正の整数 が与えられる。 の平均値を求め、小数点以下を切り上げて得られる整数値を答えよ。 解法 が偶数ならば、平均値は整数であって、答えは (a + b) / 2 となる が奇数ならば、平均値は…
この処理は今後めっちゃ頻出なので、スラスラ書けるようになっておきたい! 問題へのリンク 問題概要 正の整数 が与えられる。 に最も近い 5 の倍数を求めよ。 解法 たとえば としてみよう。5 の倍数は 0, 5, 10, 15, 20, 25, 30, 35, 40, ... と続いていく…
結構難しい... 問題へのリンク 問題概要 人全員が最初都市 1 にいて、全員を都市 1 -> 2 -> 3 -> 4 -> 5 -> 6 へと順番に進んで、全員が都市 6 にいる状態にしたい。 都市 1 から都市 2 への移動手段は毎秒ごとに提供されているが、同時に 人しか行けない。…