SlideShare a Scribd company logo
1 of 25
Download to read offline
買い出し
原案 :栗田
問題文:中野
回答 :栗田,鈴木,井上
問題概要
サゾエさんが買い出しに行く
レジをk回通る.
サゾエさんの会計時間は0
それぞれのレジには他の買い物客がいる場合があるので,

列に並んで待つ場合がある.
はじめにレジに並んでからレジをk回通るまでの

時間を最小化したい
問題概要
レジの数:n(1 <= n <= 10^15)
客の人数:m(1 <= m <= 10^5)
レジを通る回数:k(1 <= k <= 10^4)
サゾエさんがレジを通ってから

再びレジに並ぶまでにかかる時間:d(1<= d <= 10^4)
サゾエさんの入店時間:s(0<= s <= 10^4)
問題概要
客iがレジに並ぶ時間:a_i(0<= a_i <= 10^4)
客iが会計にかかる時間:b_i(1<= b_i <= 10^4)
客iが並ぶレジ番号:c_i(1<=c_i <= n)
考察
n > mなのでどこかのレジは絶対に客がこない
n > mの時の解はk*dになる.
なのでn <= mの時を考える.
解法
1. 各レジが空になるまでの時間を覚えておく.
2. サゾエさんと客をレジに並ぶ時間が早い順にpriorityキュー
に入れる
3. キューの先頭の客が並ぶレジの会計終了時間を更新する.
4. サゾエさんの順番になったら各レジの中で会計終了時間が

一番早いレジを選ぶ.
5. サゾエさんが次に並ぶことのできる時間がわかるので,

サゾエさんを再びキューに追加する.
解法
1. 各レジが空になるまでの時間を覚えておく.
2. サゾエさんと客をレジに並ぶ時間が早い順にpriorityキュー
に入れる
3. キューの先頭の客が並ぶレジの会計終了時間を更新する.
4. サゾエさんの順番になったら各レジの中で会計終了時間が

一番早いレジを選ぶ.
5. サゾエさんが次に並ぶことのできる時間がわかるので,

サゾエさんを再びキューに追加する.
O(m log m)
O(1)
O(n)
O(log m)
解法(TLE)
1. 各レジが空になるまでの時間を覚えておく.
2. サゾエさんと客をレジに並ぶ時間が早い順にpriorityキュー
に入れる
3. キューの先頭の客が並ぶレジの会計終了時間を更新する.
4. サゾエさんの順番になったら各レジの中で会計終了時間が

一番早いレジを選ぶ.
5. サゾエさんが次に並ぶことのできる時間がわかるので,

サゾエさんを再びキューに追加する.
O(m log m)
O(k*1)
O(k*n)
O(k*log m)
想定解法
1. 各レジが空になるまでの時間を覚えておく.
2. サゾエさんと客をレジに並ぶ時間が早い順にpriorityキュー
に入れる
3. キューの先頭の客が並ぶレジの会計終了時間を更新する.
4. サゾエさんの順番になったら各レジの中で会計終了時間が

一番早いレジを選ぶ.
5. サゾエさんが次に並ぶことのできる時間がわかるので,

サゾエさんを再びキューに追加する.
O(m log m)
O(k*log n)
O(k*log m)
O(k*log n)
想定解法
どのレジが最小の時間で会計が終わるかを毎回全て見るの
ではなく,二分木で管理をする.
レジの会計終了時間の更新がO(log n)になり,最小のレジ
を見つけるのにO(log n)になり,全体がO((k + m)log m)
解答例:SAMPLE
sampleの場合

ans = 0
1 2 3
1
0 0 0
2
3
4
(1, 2, 3)
.
.
解答例:SAMPLE
1 2 3
1
0 0 0
2
3
4
(1, 2, 3)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
1
0 0 3
2
3
4
(1, 2, 3)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
2
0 0 3
3
4
5
(1,1,2)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
2
0 0 3
3
4
5
(1,1,2)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
2
0 2 3
3
4
5
(1,1,2)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
3
0 2 3
4
5
6
(2,3,1)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
3
5 2 3
4
5
6
(2,3,1)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
4
5 2 3
5
6
7
(3,4,2)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
4
5 2 3
5
6
7
(3,4,2)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
4
5 2 7
5
6
7
(3,4,2)
.
.
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
5
5 2 7
6
7
8
.
.
sampleの場合

ans = 0
(3)
解答例:SAMPLE
1 2 3
5
5 2 7
6
7
8
.
.
sampleの場合

ans = 0
(3)
sampleの場合

ans = 0
解答例:SAMPLE
1 2 3
5
5 2 7
6
7
8
.
.
もう一度
追加する
これ以外の解法
今回は更新に二分木を使ったが,競プロでよく使うデータ
構造としてセグメント木というデータ構造があり,これを
使っても解ける.
知らない人はあり本を読もう!!!

More Related Content

Viewers also liked (12)

最短経路問題 & 最小全域木
最短経路問題 & 最小全域木最短経路問題 & 最小全域木
最短経路問題 & 最小全域木
 
会津合宿2015Day3:E問題
会津合宿2015Day3:E問題会津合宿2015Day3:E問題
会津合宿2015Day3:E問題
 
ACPC2016Day3:F問題
ACPC2016Day3:F問題ACPC2016Day3:F問題
ACPC2016Day3:F問題
 
会津合宿2015Day3:D問題
会津合宿2015Day3:D問題会津合宿2015Day3:D問題
会津合宿2015Day3:D問題
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
Topological sort
Topological sortTopological sort
Topological sort
 
二分探索をはじめからていねいに
二分探索をはじめからていねいに二分探索をはじめからていねいに
二分探索をはじめからていねいに
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
会津合宿2015Day3:A問題
会津合宿2015Day3:A問題会津合宿2015Day3:A問題
会津合宿2015Day3:A問題
 
立命合宿2016Day3:H問題
立命合宿2016Day3:H問題立命合宿2016Day3:H問題
立命合宿2016Day3:H問題
 
蟻本輪講 データ構造
蟻本輪講 データ構造蟻本輪講 データ構造
蟻本輪講 データ構造
 
動的計画法
動的計画法動的計画法
動的計画法
 

More from HCPC: 北海道大学競技プログラミングサークル

More from HCPC: 北海道大学競技プログラミングサークル (20)

写像 12 相
写像 12 相写像 12 相
写像 12 相
 
ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しいACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しい
 
ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断
 
ACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFSACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFS
 
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解
 
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取りACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
 
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェ
 
ACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探しACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探し
 
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
 
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャムHUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
 
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMGHUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
 
HUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD RushHUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD Rush
 
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺しHUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
 
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
 
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
 
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
 
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
 
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
 
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four teaHUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

会津合宿2015Day3:C問題