Educaational Codeforces Round 188

468 types
3 minutes

参加はしてないので後日追いました。

内容

A. Passing the Ball

0 番さんからボールを指示通りに左右に渡すことを nn 回繰り返したとき、ボールを 1 回以上受け取った人が何人いるかを求める問題です。

nn 回愚直に試して受け取った人を都度 std::set に入れることで解けます。

B. Right Maximum

配列の最大値を見つけ、それ以降の要素をすべて排除することを、配列が空になるまで行うとき、排除する操作が何回行われるかを求める問題です。

{a_i, i} の pair を管理して、これを単に降順にソートしてあげます。pos 番目以降を排除したというのを管理しておいて、すべての要素を調べて pos が変更された回数を数えれば ok です。

C. Spring

aa 日ごとに店に来る人と、bb 日ごとに店に来る人と、cc 日ごとに店に来る人がいて、店に来ると 6 つの商品をもらえるが、同じ日に複数人来た場合その人たちで山分けするというルールの下で、それぞれの人はいくつの商品をもらえるかという問題です。

aa 日ごとに店に来る人を考えます。同じように考えれば他の人に対しても解けることが分かります。 簡単な包除を考えると、6m/a3(m/lcm(a,b)+m/lcm(a,c))+2m/lcm(a,b,c)6 \cdot \lfloor{ m / a \rfloor} - 3 \cdot (\lfloor{ m / \mathrm{lcm}(a, b) \rfloor} + \lfloor{ m / \mathrm{lcm}(a, c) \rfloor}) + 2 \cdot \lfloor{ m / \mathrm{lcm}(a, b, c) \rfloor} を求めればよいです。

D. Alternating Path

nn 頂点 mm 辺の無向グラフ

感想

おわり

おわりです。

Title:Educaational Codeforces Round 188

Author:Oxojo

Link:https://oxojo.dev/posts/ecr188[Copy]

Last modified :