受講レベル診断テスト 2025.07.12 /10 レベル診断テスト あなたが受講する最適なコースを診断するためのテストです. 1 / 10 あなたはカエルです。N個の足場が1列に並んでおり、i番目の足場に飛ぶと Ci のコストがかかります。あなたは1回のジャンプで、1つ先か2つ先の足場にしか飛べません。 スタート(0番目)からゴール(N-1番目)まで、合計コストを最小にしてたどり着くための考え方として、最も適切なものはどれでしょう? 常にコストが小さい方の足場にジャンプしていく dp[i] = (i番目の足場までの最小コスト) を、i=0から順に計算していく 考えられる全てのジャンプ経路をリストアップし、最もコストが低いものを探す N-1番目の足場から逆算して、コストが最小になる経路を探す 2 / 10 あなたはゲームのスコア分析官です。1試合ごとに記録されたスコアの変動リスト [+10, -5, +20, +15, -30, ...] が100万試合分あります。 「第i試合から第j試合までの正味のスコア変動は?」という形式のクエリが、10万回飛んできます。この大量のクエリを効率的にさばくための最適なアプローチはどれでしょう? クエリが来るたびに、指定された区間のスコアをループで足し合わせる 事前に、各試合までのスコアの累計を計算した「累積和」の表を作っておく 事前に、全試合のスコアの平均値を計算しておき、区間の長さを掛ける 事前に、リストをスコアの高い順にソートしておく 3 / 10 SNSで、あるインフルエンサーAさんが「この投稿は、私のフォロワーのフォロワーまで届けたい!」と考えています。 Aさんから見て「友達(距離1)」と「友達の友達(距離2)」にあたる人々の数を、重複なく数え上げるのに最も適したアルゴリズムはどれでしょう? 深さ優先探索(DFS) 幅優先探索(BFS) ダイクストラ法 Union-Find 4 / 10 ある問題に対する2つのアルゴリズムAとBがあります。データサイズをNとしたとき、それぞれの計算量は以下の通りです。 アルゴリズムA: O(N2) アルゴリズムB: O(NlogN) データサイズNが100万のとき、実行速度はどちらがどのくらい速いと予想されますか? ほぼ同じ速さ Aの方が速い Bの方が速い データサイズが大きすぎて、どちらも現実的な時間では終わらない 5 / 10 あなたは魔法薬の調合師です。薬のレシピに「魔法水をちょうどKミリリットル加える」とありますが、大事なKの値が書かれたページが破れてしまっています。ただし、以下のことは分かっています。 魔法水がKミリリットル未満だと薬は黒く変色する。 魔法水がKミリリットル以上だと薬は白く輝く。 Kは1から1,000,000までの整数のいずれか。 最小の試行回数でKを特定するには、どのような戦略をとるべきですか? 1ミリリットルから順番に試していく 100万を2で割り、50万から試す 試す範囲の中間値をとり、その結果によって調べる範囲を半分にしていく 1000ミリリットルずつ試していき、変化があった区間を詳しく調べる 6 / 10 広大な2次元マップ上に、N個の宝箱が点在しています。Nは最大10万ですが、マップの広さは 109×109 と非常に広大です。 宝箱の「X座標の大小関係」と「Y座標の大小関係」だけを保ったまま、この問題を小さなグリッド上の問題として扱いたい場合、どのような前処理が有効ですか? 全ての座標を1000で割って、値を小さくする 登場するX座標とY座標の値だけを抜き出し、それぞれに0からの連番を振る 最も左下の宝箱が原点(0,0)になるように、全ての座標を平行移動する マップを一定の大きさのメッシュに区切り、各メッシュの宝箱の数を数える 7 / 10 あなたは大規模な計算サーバーのタスク管理をしています。複数のタスクが随時追加され、それぞれに「優先度」が設定されています。 システムは常に、現在溜まっているタスクの中から「最も優先度の高い」ものを次に取り出して実行しなければなりません。この処理を効率的に実現するのに最も適したデータ構造は? スタック (後入れ先出し) キュー (先入れ先出し) 優先度付きキュー ハッシュテーブル 8 / 10 N個の都市があり、M本の双方向の道路建設計画があります。計画は (都市A, 都市B) のペアで与えられます。 「都市Xと都市Yは、現時点の計画で(間接的にでも)繋がっていますか?」という形式の質問に、何度も高速で答えたい。この目的に特化した、非常に高速なデータ構造は? 隣接行列 隣接リスト セグメント木 Union-Find木 9 / 10 あなたはパン屋さんです。1円、5円、10円、50円、100円、500円の硬貨が無限にあります。 N円の買い物に対し、できるだけ少ない枚数の硬貨でお釣りを渡したいです。この問題を解くためのアルゴリズムとして、最も適切でないものはどれですか? 500円から順に、使えるだけ使っていく 動的計画法で、各金額を支払う最小枚数を計算する 全ての硬貨の組み合わせを試し、最小枚数のものを探す 1円から順に、使えるだけ使っていく 10 / 10 あなたはコンサートホールの管理人です。1年分のホールの予約がN件入っており、各予約は「利用開始日」と「利用終了日」で記録されています。 この1年間で、ホールが最も多くの予約で重複していた日の、予約重複数はいくつかを効率的に求めたいです。 各日付について、その日に予約が入っているかを全ての予約と照合して数える 予約の開始日に+1、終了日の翌日に-1とカレンダーに記録し、日付順に累計を計算する 最も予約期間の長いものを探し、その期間内の他の予約を数える 予約が入っている期間を全てリストアップし、重複する期間を探す あなたのスコアは 0% クイズを再開する