Upload
Download free for 30 days
Login
Submit Search
立命合宿2016Day3:D問題
0 likes
402 views
HCPC: 北海道大学競技プログラミングサークル
立命合宿2016Day3:D問題
Technology
Read more
1 of 13
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
More Related Content
PDF
公開鍵暗号(1): RSA暗号
Joe Suzuki
PDF
PFDS 8.4.3 Real-Time Deques
昌平 村山
PDF
Lisperはじめました
Nobutada Matsubara
PPTX
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Yasuo Tabei
PDF
Erlang で再帰
snow long
PDF
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
PDF
Lisper はじめました (再)
Nobutada Matsubara
PDF
並列対決 Elixir × Go × C# x Scala , Node.js
Yoshiiro Ueno
公開鍵暗号(1): RSA暗号
Joe Suzuki
PFDS 8.4.3 Real-Time Deques
昌平 村山
Lisperはじめました
Nobutada Matsubara
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Yasuo Tabei
Erlang で再帰
snow long
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
Lisper はじめました (再)
Nobutada Matsubara
並列対決 Elixir × Go × C# x Scala , Node.js
Yoshiiro Ueno
What's hot
(20)
PDF
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
Tasuku Soma
PDF
Chainerで流体計算
Preferred Networks
PDF
Rでisomap(多様体学習のはなし)
Kohta Ishikawa
PDF
CMSI計算科学技術特論B(10) 大規模MD並列化の技術1
Computational Materials Science Initiative
PDF
RMQ クエリ処理
HCPC: 北海道大学競技プログラミングサークル
PDF
Icp3.2 takmin
Takuya Minagawa
PDF
CMSI計算科学技術特論B(12) 大規模量子化学計算(1)
Computational Materials Science Initiative
PPTX
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
yukihiro domae
PDF
Snake eats leapfrog (in Japanese)
Keigo Nitadori
PDF
CMSI計算科学技術特論B(11) 大規模MD並列化の技術2
Computational Materials Science Initiative
PDF
20130626 kawasaki.rb NKT77
nkt77
PDF
ウェーブレット木の世界
Preferred Networks
PDF
20140306 ibisml
Yoshinobu Kawahara
PDF
[DL Hacks] Deterministic Variational Inference for RobustBayesian Neural Netw...
Deep Learning JP
PDF
低ランク行列補完のためのマトロイド理論
ryotat
PDF
強化学習の汎用化Ros
Masato Nakai
PPTX
Graph convolution (スペクトルアプローチ)
yukihiro domae
PPTX
Ecma 262 5th Edition を読む #5 第9条
彰 村地
PPTX
Coursera machine learning week7: Support Vector Machines
TIS株式会社
PDF
Sort
oupc
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
Tasuku Soma
Chainerで流体計算
Preferred Networks
Rでisomap(多様体学習のはなし)
Kohta Ishikawa
CMSI計算科学技術特論B(10) 大規模MD並列化の技術1
Computational Materials Science Initiative
RMQ クエリ処理
HCPC: 北海道大学競技プログラミングサークル
Icp3.2 takmin
Takuya Minagawa
CMSI計算科学技術特論B(12) 大規模量子化学計算(1)
Computational Materials Science Initiative
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
yukihiro domae
Snake eats leapfrog (in Japanese)
Keigo Nitadori
CMSI計算科学技術特論B(11) 大規模MD並列化の技術2
Computational Materials Science Initiative
20130626 kawasaki.rb NKT77
nkt77
ウェーブレット木の世界
Preferred Networks
20140306 ibisml
Yoshinobu Kawahara
[DL Hacks] Deterministic Variational Inference for RobustBayesian Neural Netw...
Deep Learning JP
低ランク行列補完のためのマトロイド理論
ryotat
強化学習の汎用化Ros
Masato Nakai
Graph convolution (スペクトルアプローチ)
yukihiro domae
Ecma 262 5th Edition を読む #5 第9条
彰 村地
Coursera machine learning week7: Support Vector Machines
TIS株式会社
Sort
oupc
Ad
Viewers also liked
(6)
PDF
立命合宿2016Day3:E問題
HCPC: 北海道大学競技プログラミングサークル
PPTX
Государственные закупки для предпринимателей
Андрей Морозов
PDF
立命合宿2016Day3:F問題
HCPC: 北海道大学競技プログラミングサークル
PDF
立命合宿2016Day3:G問題
HCPC: 北海道大学競技プログラミングサークル
PPTX
ACPC2016Day3:E問題
HCPC: 北海道大学競技プログラミングサークル
PPTX
Topological sort
HCPC: 北海道大学競技プログラミングサークル
立命合宿2016Day3:E問題
HCPC: 北海道大学競技プログラミングサークル
Государственные закупки для предпринимателей
Андрей Морозов
立命合宿2016Day3:F問題
HCPC: 北海道大学競技プログラミングサークル
立命合宿2016Day3:G問題
HCPC: 北海道大学競技プログラミングサークル
ACPC2016Day3:E問題
HCPC: 北海道大学競技プログラミングサークル
Topological sort
HCPC: 北海道大学競技プログラミングサークル
Ad
More from HCPC: 北海道大学競技プログラミングサークル
(20)
PDF
写像 12 相
HCPC: 北海道大学競技プログラミングサークル
PDF
ACPC 2017 Day3 F: 掛け算は楽しい
HCPC: 北海道大学競技プログラミングサークル
PDF
ACPC 2017 Day3 D: 優柔不断
HCPC: 北海道大学競技プログラミングサークル
PDF
ACPC 2019 Day3 G: Restricted DFS
HCPC: 北海道大学競技プログラミングサークル
PDF
ACPC 2019 Day3 F: 部分文字列分解
HCPC: 北海道大学競技プログラミングサークル
PDF
ACPC 2019 Day3 E: 総和の切り取り
HCPC: 北海道大学競技プログラミングサークル
PDF
ACPC 2019 Day3 B: パフェ
HCPC: 北海道大学競技プログラミングサークル
PDF
ACPC 2019 Day3 A: 間違い探し
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day2 G: 木
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day2 E: ジャム
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day2 H: Revenge of UMG
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day2 F: MOD Rush
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day2 C: 串刺し
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day1 F: グリッドの番号
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day1 E: 最短経路の復元
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day1 D: 貪欲が最適?
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day1 C: 短絡評価
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day1 B: 自身の 2 倍
HCPC: 北海道大学競技プログラミングサークル
PDF
HUPC 2019 Day1 A: four tea
HCPC: 北海道大学競技プログラミングサークル
PDF
プログラミングコンテスト基礎テクニック
HCPC: 北海道大学競技プログラミングサークル
写像 12 相
HCPC: 北海道大学競技プログラミングサークル
ACPC 2017 Day3 F: 掛け算は楽しい
HCPC: 北海道大学競技プログラミングサークル
ACPC 2017 Day3 D: 優柔不断
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 G: Restricted DFS
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 F: 部分文字列分解
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 E: 総和の切り取り
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 B: パフェ
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 A: 間違い探し
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 G: 木
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 E: ジャム
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 H: Revenge of UMG
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 F: MOD Rush
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 C: 串刺し
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 F: グリッドの番号
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 E: 最短経路の復元
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 D: 貪欲が最適?
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 C: 短絡評価
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 B: 自身の 2 倍
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 A: four tea
HCPC: 北海道大学競技プログラミングサークル
プログラミングコンテスト基礎テクニック
HCPC: 北海道大学競技プログラミングサークル
立命合宿2016Day3:D問題
1.
RUPC2016 2016/03/08 RUPC2016 Day3 D:
Complex Oracle 1 原案:井上 解説:井上 問題文:井上 解答:青木・井上
2.
RUPC2016 2016/03/08 問題概要 • 長さNの順列pが隠されている •
2つの整数 l, r をサーバーに送ると、区間 [l, r]のコンプレックス度を教えてくれる • コンプレックス度 := | { (i,j) | pi>pj か つ l≤i<j≤r} | • 200,000回以内のクエリで隠された順列pを当 てろ • 制約: 1≤N≤100,000 2
3.
RUPC2016 2016/03/08 問題概要 • 長さNの順列pが隠されている •
2つの整数 l, r をサーバーに送ると、区間 [l, r]のコンプレックス度を教えてくれる • コンプレックス度 := | { (i,j) | pi>pj か つ l≤i<j≤r} | = 転倒数 (=バブルソートの交換回数) • 200,000回以内のクエリで隠された順列pを当 てろ • 制約: 1≤N≤100,000 3
4.
RUPC2016 2016/03/08 解法のアイデア • inv(l,r)
= | { (i,j) | pi>pj かつ l≤i<j≤r} | とする • inv(l,r) - inv(l+1, r) から、lより右にpl よ り小さい値がいくつあるかわかる → p[l,N] のみの順列での何番目かがわかる 4 6 4 1 3 5 2 1 2 2 3 1 2番目
5.
RUPC2016 2016/03/08 TLE解法 • p[l,N]
のみの順列での何番目かがわかる • 後ろから更新、p[x]がp[x,N]でk番目なら、 • p[x+1,N]で k≤p[y] であるp[y]を1増やす • p[x] = k とする • クエリN-1回、ナイーブに更新するとO(N2)でTLE 5 ? ? ? 2 3 1 2 4 2 3 4 1 2番目 +1 +1
6.
RUPC2016 2016/03/08 想定解法 • p[l,N]
のみの順列での何番目かがわかる • 逆に、前から考えると、まだ使ってない数字で k番目のものを使えばOK • 平衡二分木やセグメントツリーなどを使ってこ のクエリをO(logN)で処理して、全体 O(NlogN) • クエリN-1回 6 4 3 ? ? ? ? 3番目 候補: {1,2,5,6} 4 3 5 ? ? ?
7.
RUPC2016 2016/03/08 セグメントツリーを使う方法 • セグメントツリーについては蟻本等を参照 •
k番目の要素をとるため、区間和を管理する • k<=sumなら左に降る • 違うなら k = k - sum として右に降る 7 1 0 1 1 0 1 0 0候補: {1,3,4,6} 0121 13 4k=3
8.
RUPC2016 2016/03/08 セグメントツリーを使う方法 • セグメントツリーについては蟻本等を参照 •
k番目の要素をとるため、区間和を管理する • k<=sumなら左に降る • 違うなら k = k - sum として右に降る 8 1 0 1 1 0 1 0 0候補: {1,3,4,6} 0121 13 4 k=3
9.
RUPC2016 2016/03/08 セグメントツリーを使う方法 • セグメントツリーについては蟻本等を参照 •
k番目の要素をとるため、区間和を管理する • k<=sumなら左に降る • 違うなら k = k - sum として右に降る 9 1 0 1 1 0 1 0 0候補: {1,3,4,6} 0121 13 4 k=2
10.
RUPC2016 2016/03/08 セグメントツリーを使う方法 • セグメントツリーについては蟻本等を参照 •
k番目の要素をとるため、区間和を管理する • k<=sumなら左に降る • 違うなら k = k - sum として右に降る 10 1 0 1 1 0 1 0 0候補: {1,3,4,6} 0121 13 4
11.
RUPC2016 2016/03/08 想定解法2 • p[x,N]
のみの順列での何番目かがわかる • 逆方向にも同様のクエリを投げると、p[1,x] での (降順での) 何番目かがわかる • x-1個のうちk個が自分より大きい → 自分はx-k 番目 • 左右に自分より小さい要素がそれぞれa,b個 → 自分は全体でa+b+1番目 → p[x] = a+b+1 • クエリ2N-2回、O(N) 11 ? ? ? ? ? ? 前から1番目
12.
RUPC2016 2016/03/08 ジャッジ解 • 青木
(Java, O(N)): 59行 1886B • 井上 (C++, O(N)): 44行 781B • 井上 (C++, O(NlogN)): 71行 1308B 12
13.
RUPC2016 2016/03/08 回答状況 • Accept
/ Submit • 15 / 47 (31.91%) • First Acceptance • onsite: popnow (00:56) • online: rickytheta (00:33) 13
Download