SlideShare a Scribd company logo
1 of 10
Download to read offline
D-Two colors sort
Editorial
idsigma
情報
原案:idsigma
計算量改善:tempura0224
問題文:tubuann
Write解:idsigma,tubuann,tsutaj
問題概要
umgくんは長さ𝑁の順列 𝑝𝑖 を持っている
𝑅個の数を赤く塗り、𝑁 − 𝑅個の数を青く塗る。
同じ色の数字ごとに昇順に並び替えたとき、順列全
体で昇順に並ぶようにすることができるか?
𝑁 ≤ 300000
考察
目的を達成するためには、数𝑝𝑖は最終的に𝑝𝑖番目に
ある必要がある
つまりすべての𝑖について、𝑖と𝑝𝑖は同じ色で塗らない
とだめ
1,2, ⋯ , 𝑁という数を頂点とし、𝑖と𝑝𝑖の間に辺を張る
と、いくつかの連結成分にわかれる
同じ連結成分に属する数は、同じ色で塗らないとだ
め
考察
逆に、各連結成分を同じ色で塗れば、目的を達成で
きる
つまり、連結成分が𝑛個あって、その大きさをそれ
ぞれ𝑎1, 𝑎2, … 𝑎 𝑛とすると、このうちいくつかを選ん
で和を𝑅にすることができるかが判定できればよい
有名問題に言い換えることができた!
このままDPすると𝑂(𝑅𝑁)でまずい
計算量を落とす
𝑎𝑖の値として考えられる値は何種類か?
1 + 2 + ⋯ + 𝑛 =
1
2
𝑛 𝑛 + 1 ≤ 𝑁という不等式を考え
ると、𝑂 𝑁 種類であることがわかる
「互いに異なる𝑛個の数𝑎1, 𝑎2, … , 𝑎 𝑛がそれぞれ
𝑚1, 𝑚2, … , 𝑚 𝑛個あるとき、いくつかの数を選んで総
和を𝑅にすることができるか?」という問題を考え
ると…?
DP
ここで蟻本を開きます
𝑑𝑝 𝑖 + 1 [𝑗]:𝑖番目の数までを使って𝑗を作るときに余
る最大の𝑖番目の数の個数 というDPで解ける
𝑛 = 𝑂 𝑁 なので計算量は𝑂 𝑁 𝑁
𝑁 ≤ 300000でも間に合う(!)
まとめ
1,2, … , 𝑁を頂点としたグラフを考える
𝑖と𝑝𝑖の間に辺を張って、連結成分の大きさを数え、
大きさが同じ連結成分についてはそれぞれいくつあ
るか数えておく(Union-Find,dfsなど)
さっきのdpをして、Rが作れるならばYesで、そう
でなければNo
補足
 𝑁 ≤ 300000で想定𝑂 𝑁 𝑁 はすこしびっくりするかもしれま
せん(本当?)
 Python勢の人はつらかったかもしれません
 なんでこの制約?→C++のbitset解𝑂
𝑁2
64
が割と早い
 何も考えずにbitset解を書くと連結成分の数が多いケースで
間に合いませんが、min 𝑅, 𝑁 − 𝑅 するとかそういうケースを
適当に対処すると間に合います(許容しました)(落とせなかっ
た)
Writer解情報・統計
 Writer解
・idsigma(C++,72行,1544byte)
・tsutaj(C++,53行,1349byte)
・tubuann(C++,77行,2134byte)
 AC/tried:42/187
 FA-onsite:hupc_syl_nyan_nyan(30:49)
 FA-online:ushitapunichiakun(16:05)

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

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

Recently uploaded (8)

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

HUPC 2019 Day2 D: Two Colors Sort