SlideShare a Scribd company logo
1 of 11
Download to read offline
ACPC 2019 day3
D Many Decimal Integers
原案: Tsuta_J
問題文: Tsuta_J
解説: monkukui
問題概要
• 文字列 が与えられる.
• は 0 から 9 の数字のみからなる文字列.
• は数字と ? のみからなる文字列.
• を満たす全ての についての総和を求めよ.
•
s t
s
t
t ≤ s t
1 ≤ |S| = |T| ≤ 2 × 105
想定解法
• 桁 DP です.
• 知らない人は以下の問題をまずときましょう.
• Typical DP Contest E 数 (https://tdpc.contest.atcoder.jp/tasks/tdpc_number)
• ABC007 D 禁止された数字 (https://abc007.contest.atcoder.jp/tasks/abc007_4)
• ABC029 D 1 (https://abc029.contest.atcoder.jp/tasks/abc029_d)
• ABC129 E SumEqualsXor (https://atcoder.jp/contests/abc129/submissions/
5846547)
想定解法
• 今回の問題はいつもの DP テーブルの他に, 総和を管理す
るテーブルが必要
• s = 526 , t = 5?4 を例に考える.
想定解法
• s = 524
• t = 5?4
見た桁数 t の通り数 t の総和
0 1 0
1 1 5
2 3 50 + 51 + 52
3 3 504 + 514 + 524
想定解法
• s = 524
• t = 5?4
見た桁数 t の通り数 t の総和
0 1 0
1 1 5
2 3 50 + 51 + 52
3 3 (50 + 51 + 52) * 10 + 4 * 3
見た桁数 t の通り数 t の総和
0 1 0
1 1 5
2 3 5 * 10 + (0 + 1 + 2) * 1
3 3 (50 + 51 + 52) * 10 + 4 * 3
想定解法
• s = 524
• t = 5?4
想定解法
• count[ i ][ flag ] := i 桁目まで見たときの通り数
• sum[ i ][ flag ] := i 桁目まで見たときの文字列全ての総和
• i + 1 桁目の数字を m とすると, 遷移は以下のようになる
count[ i ][ flag ]
sum[ i + 1 ][ nextFlag ]sum[ i ][ flag]
count[ i + 1 ][ nextFlag ]
1
m
10
計算量
• DP テーブルの大きさは O(¦S¦) で, 遷移は O(1) なので,
全体で O(¦S¦) でこの問題が解けた
Tester 解
• Tsuta_J (32行 C++)
• monkukui (51行 C++)
• rsk0315 (224行 C++)
• TAB (110行 C++)
統計情報
• FA (online) lyrically, 21:27
• FA (onsite) Drinkable, 15:02
• AC 率 24/44 (54 %)

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 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
 
プログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニックプログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニック
 
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: 情報検索
 

Recently uploaded

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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
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
 
論文紹介: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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介: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
 
論文紹介: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
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

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)
 
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
 
論文紹介: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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介: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
 
論文紹介: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...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

ACPC 2019 Day3 D: Many Decimal Integers

  • 1. ACPC 2019 day3 D Many Decimal Integers 原案: Tsuta_J 問題文: Tsuta_J 解説: monkukui
  • 2. 問題概要 • 文字列 が与えられる. • は 0 から 9 の数字のみからなる文字列. • は数字と ? のみからなる文字列. • を満たす全ての についての総和を求めよ. • s t s t t ≤ s t 1 ≤ |S| = |T| ≤ 2 × 105
  • 3. 想定解法 • 桁 DP です. • 知らない人は以下の問題をまずときましょう. • Typical DP Contest E 数 (https://tdpc.contest.atcoder.jp/tasks/tdpc_number) • ABC007 D 禁止された数字 (https://abc007.contest.atcoder.jp/tasks/abc007_4) • ABC029 D 1 (https://abc029.contest.atcoder.jp/tasks/abc029_d) • ABC129 E SumEqualsXor (https://atcoder.jp/contests/abc129/submissions/ 5846547)
  • 4. 想定解法 • 今回の問題はいつもの DP テーブルの他に, 総和を管理す るテーブルが必要 • s = 526 , t = 5?4 を例に考える.
  • 5. 想定解法 • s = 524 • t = 5?4 見た桁数 t の通り数 t の総和 0 1 0 1 1 5 2 3 50 + 51 + 52 3 3 504 + 514 + 524
  • 6. 想定解法 • s = 524 • t = 5?4 見た桁数 t の通り数 t の総和 0 1 0 1 1 5 2 3 50 + 51 + 52 3 3 (50 + 51 + 52) * 10 + 4 * 3
  • 7. 見た桁数 t の通り数 t の総和 0 1 0 1 1 5 2 3 5 * 10 + (0 + 1 + 2) * 1 3 3 (50 + 51 + 52) * 10 + 4 * 3 想定解法 • s = 524 • t = 5?4
  • 8. 想定解法 • count[ i ][ flag ] := i 桁目まで見たときの通り数 • sum[ i ][ flag ] := i 桁目まで見たときの文字列全ての総和 • i + 1 桁目の数字を m とすると, 遷移は以下のようになる count[ i ][ flag ] sum[ i + 1 ][ nextFlag ]sum[ i ][ flag] count[ i + 1 ][ nextFlag ] 1 m 10
  • 9. 計算量 • DP テーブルの大きさは O(¦S¦) で, 遷移は O(1) なので, 全体で O(¦S¦) でこの問題が解けた
  • 10. Tester 解 • Tsuta_J (32行 C++) • monkukui (51行 C++) • rsk0315 (224行 C++) • TAB (110行 C++)
  • 11. 統計情報 • FA (online) lyrically, 21:27 • FA (onsite) Drinkable, 15:02 • AC 率 24/44 (54 %)