SlideShare a Scribd company logo
1 of 7
Download to read offline
HUPC	2019	D
解説
原案 TAB
解説 TAB
問題概要
• 1 円⽟, A 円⽟, B 円⽟硬貨がある.
• ⾦額の⼤きい硬貨から貪欲に⽀払う⽅法だと, 使⽤する枚数
が最⼩にならないような⾦額の最⼩値を答えよ
1 < 𝐴 ≤ 10&, 𝐴 < 𝐵 ≤ 10)
⼊⼒例
4		6
出⼒例
8
考察
次の⼆つのことに気づくと解けます
1. 貪欲な⽀払い⽅と, 枚数を最⼩化する払い⽅
の両⽅で同じ種類の硬貨が使われることはな
い
2. 枚数を最⼩化する⽀払い⽅は A 円⽟のみを使
う
考察
• 1. の証明
X を貪欲が最適ではない⾦額の最⼩値とし,
ある硬貨 T が貪欲な⽀払い⽅と枚数を最⼩化する払
⽅の両⽅で使われていたとする.
この時 X - T 円について考えると, 貪欲な⽀払い⽅では
X 円を⽀払うより 1 枚少ない硬貨で X - T 円を⽀払う
ことができる. 枚数を最⼩化する⽀払い⽅でも同じこ
とが⾔える.
従って X - T 円も貪欲が最適ではなくなるが, これは X
がそのような⾦額の最⼩値であることに反する.
考察
• 2. の気持ち
1. からそれぞれの硬貨は貪欲な⽀払い⽅と, 枚数最⼩
の⽀払い⽅の両⽅で使われることはない
雑に⾒積もると 23 = 8 通り考えられるが, ⼀⽅が貪欲
な⽀払い⽅であることに気をつけると⼀通りに絞る
ことができる.
解法
• 1. より, その最⼩値を貪欲な⽅法で⽀払うのにA 円⽟は使わ
ない
→ ⾦額を X とすると X%B < A
• 2. より, 貪欲が最適にならない⾦額は A の倍数
• 𝐴×𝐵円より⼤きい⾦額が答えになることはない
• これらのことから
+×,
-
×𝐴 (1 ≤ 𝑘 ≤ 𝐴)で表せる⾦額のみ
を調べれば良い(実は k = 1 のみ調べれば良いです)
• 従って O(A) で解くことができます
(O(1) で解くこともできます)
Writer	解 /	統計
• Writer 解
• TAB (C++ 20 ⾏)
• Tsuta_j (C++ 30 ⾏)
• 統計
• AC 率 (75/209)
• FA
• On-line
polyomino (17:43)
• On-site
hupc_asakorooooll (25:19)

More Related Content

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

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

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 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
 
プログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニックプログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニック
 
RUPC 2019 Day3 G: Donuts Orientation
RUPC 2019 Day3 G: Donuts OrientationRUPC 2019 Day3 G: Donuts Orientation
RUPC 2019 Day3 G: Donuts Orientation
 
RUPC 2019 Day3 D: 矢
RUPC 2019 Day3 D: 矢RUPC 2019 Day3 D: 矢
RUPC 2019 Day3 D: 矢
 
RUPC 2019 Day3 F: 赤黒そーるじぇむ
RUPC 2019 Day3 F: 赤黒そーるじぇむRUPC 2019 Day3 F: 赤黒そーるじぇむ
RUPC 2019 Day3 F: 赤黒そーるじぇむ
 
RUPC 2019 Day3 E: 往復文字列
RUPC 2019 Day3 E: 往復文字列RUPC 2019 Day3 E: 往復文字列
RUPC 2019 Day3 E: 往復文字列
 
RUPC 2019 Day3 C: 約数ゲーム
RUPC 2019 Day3 C: 約数ゲームRUPC 2019 Day3 C: 約数ゲーム
RUPC 2019 Day3 C: 約数ゲーム
 
RUPC 2019 Day3 B: 括弧を語る数
RUPC 2019 Day3 B: 括弧を語る数RUPC 2019 Day3 B: 括弧を語る数
RUPC 2019 Day3 B: 括弧を語る数
 
RUPC 2019 Day3 A: 情報検索
RUPC 2019 Day3 A: 情報検索RUPC 2019 Day3 A: 情報検索
RUPC 2019 Day3 A: 情報検索
 
最大流 (max flow)
最大流 (max flow)最大流 (max flow)
最大流 (max flow)
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (10)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

HUPC 2019 Day1 D: 貪欲が最適?

  • 2. 問題概要 • 1 円⽟, A 円⽟, B 円⽟硬貨がある. • ⾦額の⼤きい硬貨から貪欲に⽀払う⽅法だと, 使⽤する枚数 が最⼩にならないような⾦額の最⼩値を答えよ 1 < 𝐴 ≤ 10&, 𝐴 < 𝐵 ≤ 10) ⼊⼒例 4 6 出⼒例 8
  • 4. 考察 • 1. の証明 X を貪欲が最適ではない⾦額の最⼩値とし, ある硬貨 T が貪欲な⽀払い⽅と枚数を最⼩化する払 ⽅の両⽅で使われていたとする. この時 X - T 円について考えると, 貪欲な⽀払い⽅では X 円を⽀払うより 1 枚少ない硬貨で X - T 円を⽀払う ことができる. 枚数を最⼩化する⽀払い⽅でも同じこ とが⾔える. 従って X - T 円も貪欲が最適ではなくなるが, これは X がそのような⾦額の最⼩値であることに反する.
  • 5. 考察 • 2. の気持ち 1. からそれぞれの硬貨は貪欲な⽀払い⽅と, 枚数最⼩ の⽀払い⽅の両⽅で使われることはない 雑に⾒積もると 23 = 8 通り考えられるが, ⼀⽅が貪欲 な⽀払い⽅であることに気をつけると⼀通りに絞る ことができる.
  • 6. 解法 • 1. より, その最⼩値を貪欲な⽅法で⽀払うのにA 円⽟は使わ ない → ⾦額を X とすると X%B < A • 2. より, 貪欲が最適にならない⾦額は A の倍数 • 𝐴×𝐵円より⼤きい⾦額が答えになることはない • これらのことから +×, - ×𝐴 (1 ≤ 𝑘 ≤ 𝐴)で表せる⾦額のみ を調べれば良い(実は k = 1 のみ調べれば良いです) • 従って O(A) で解くことができます (O(1) で解くこともできます)
  • 7. Writer 解 / 統計 • Writer 解 • TAB (C++ 20 ⾏) • Tsuta_j (C++ 30 ⾏) • 統計 • AC 率 (75/209) • FA • On-line polyomino (17:43) • On-site hupc_asakorooooll (25:19)