Enviar búsqueda
Cargar
Permutation
•
0 recomendaciones
•
487 vistas
O
oupc
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 16
Descargar ahora
Descargar para leer sin conexión
Recomendados
ベクトル空間と表現行列
ベクトル空間と表現行列
nabeshimamasataka
ベクトル空間と表現行列
ベクトル空間と表現行列
政孝 鍋島
スペクトラル・クラスタリング
スペクトラル・クラスタリング
Akira Miyazawa
最急降下法
最急降下法
Akira Miyazawa
統計概論 isseing333
統計概論 isseing333
Issei Kurahashi
Study session#3
Study session#3
恵太 水野
Study session#3
Study session#3
恵太 水野
UTPC2012 - K
UTPC2012 - K
omeometo
Recomendados
ベクトル空間と表現行列
ベクトル空間と表現行列
nabeshimamasataka
ベクトル空間と表現行列
ベクトル空間と表現行列
政孝 鍋島
スペクトラル・クラスタリング
スペクトラル・クラスタリング
Akira Miyazawa
最急降下法
最急降下法
Akira Miyazawa
統計概論 isseing333
統計概論 isseing333
Issei Kurahashi
Study session#3
Study session#3
恵太 水野
Study session#3
Study session#3
恵太 水野
UTPC2012 - K
UTPC2012 - K
omeometo
20130921_曲面の微分幾何学
20130921_曲面の微分幾何学
matsumoring
C04
C04
anonymousouj
Four op
Four op
oupc
ポアンカレ計量
ポアンカレ計量
政孝 鍋島
公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性
Joe Suzuki
内藤ゼミ 凸関数 レジュメ
内藤ゼミ 凸関数 レジュメ
yamazaki ryoga
Master Thesis
Master Thesis
Toshiyuki Shimono
曲面の面積の計算と証明
曲面の面積の計算と証明
政孝 鍋島
曲面の面積の計算と証明
曲面の面積の計算と証明
nabeshimamasataka
【材料力学】3次元空間のひずみ (II-11 2018)
【材料力学】3次元空間のひずみ (II-11 2018)
Kazuhiro Suga
Divisor
Divisor
Ken Ogura
Prml 4.3.6
Prml 4.3.6
Satoshi Kawamoto
topology of musical data
topology of musical data
Tatsuki SHIMIZU
1
1
oupc
上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト
Keigo Nitadori
Sharp2sat
Sharp2sat
oupc
Prml 4.1.1
Prml 4.1.1
Satoshi Kawamoto
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
奈良先端大 情報科学研究科
数学必須手法解説講座vol.1「次数下げ」
数学必須手法解説講座vol.1「次数下げ」
Courslide
PRML 8.4-8.4.3
PRML 8.4-8.4.3
KunihiroTakeoka
Magical
Magical
oupc
Palin
Palin
oupc
Más contenido relacionado
La actualidad más candente
20130921_曲面の微分幾何学
20130921_曲面の微分幾何学
matsumoring
C04
C04
anonymousouj
Four op
Four op
oupc
ポアンカレ計量
ポアンカレ計量
政孝 鍋島
公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性
Joe Suzuki
内藤ゼミ 凸関数 レジュメ
内藤ゼミ 凸関数 レジュメ
yamazaki ryoga
Master Thesis
Master Thesis
Toshiyuki Shimono
曲面の面積の計算と証明
曲面の面積の計算と証明
政孝 鍋島
曲面の面積の計算と証明
曲面の面積の計算と証明
nabeshimamasataka
【材料力学】3次元空間のひずみ (II-11 2018)
【材料力学】3次元空間のひずみ (II-11 2018)
Kazuhiro Suga
Divisor
Divisor
Ken Ogura
Prml 4.3.6
Prml 4.3.6
Satoshi Kawamoto
topology of musical data
topology of musical data
Tatsuki SHIMIZU
1
1
oupc
上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト
Keigo Nitadori
Sharp2sat
Sharp2sat
oupc
Prml 4.1.1
Prml 4.1.1
Satoshi Kawamoto
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
奈良先端大 情報科学研究科
数学必須手法解説講座vol.1「次数下げ」
数学必須手法解説講座vol.1「次数下げ」
Courslide
PRML 8.4-8.4.3
PRML 8.4-8.4.3
KunihiroTakeoka
La actualidad más candente
(20)
20130921_曲面の微分幾何学
20130921_曲面の微分幾何学
C04
C04
Four op
Four op
ポアンカレ計量
ポアンカレ計量
公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性
内藤ゼミ 凸関数 レジュメ
内藤ゼミ 凸関数 レジュメ
Master Thesis
Master Thesis
曲面の面積の計算と証明
曲面の面積の計算と証明
曲面の面積の計算と証明
曲面の面積の計算と証明
【材料力学】3次元空間のひずみ (II-11 2018)
【材料力学】3次元空間のひずみ (II-11 2018)
Divisor
Divisor
Prml 4.3.6
Prml 4.3.6
topology of musical data
topology of musical data
1
1
上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト
Sharp2sat
Sharp2sat
Prml 4.1.1
Prml 4.1.1
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
数学必須手法解説講座vol.1「次数下げ」
数学必須手法解説講座vol.1「次数下げ」
PRML 8.4-8.4.3
PRML 8.4-8.4.3
Destacado
Magical
Magical
oupc
Palin
Palin
oupc
Gcd
Gcd
oupc
Rmq
Rmq
oupc
Sort
Sort
oupc
Cube
Cube
oupc
One
One
oupc
Segpair
Segpair
oupc
Trip
Trip
oupc
Kth
Kth
oupc
Paren
Paren
oupc
Goto
Goto
oupc
Replace
Replace
oupc
Comment
Comment
oupc
Sanpo
Sanpo
oupc
指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata
Destacado
(16)
Magical
Magical
Palin
Palin
Gcd
Gcd
Rmq
Rmq
Sort
Sort
Cube
Cube
One
One
Segpair
Segpair
Trip
Trip
Kth
Kth
Paren
Paren
Goto
Goto
Replace
Replace
Comment
Comment
Sanpo
Sanpo
指数時間アルゴリズム入門
指数時間アルゴリズム入門
Similar a Permutation
アルゴリズムとデータ構造15
アルゴリズムとデータ構造15
Kenta Hattori
動的計画法を極める!
動的計画法を極める!
HCPC: 北海道大学競技プログラミングサークル
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
matsumoring
2015年度秋学期 応用数学(解析) 第13回 孤立特異点と留数 (2015. 12. 17)
2015年度秋学期 応用数学(解析) 第13回 孤立特異点と留数 (2015. 12. 17)
Akira Asano
複素数・四元数と図形の回転
複素数・四元数と図形の回転
Yoshihiro Mizoguchi
2014年度秋学期 応用数学(解析) 第4部・複素関数論ダイジェスト / 第13回 孤立特異点と留数 (2015. 1. 8)
2014年度秋学期 応用数学(解析) 第4部・複素関数論ダイジェスト / 第13回 孤立特異点と留数 (2015. 1. 8)
Akira Asano
JOIss2020 発表資料
JOIss2020 発表資料
mdkcpp 1015
単調減少な数列の級数問題
単調減少な数列の級数問題
政孝 鍋島
単調減少な数列の級数問題
単調減少な数列の級数問題
nabeshimamasataka
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
Taketo Sano
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
noname409
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
Miyoshi Yuya
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
keiodig
コードを書けば複素数がわかる
コードを書けば複素数がわかる
Taketo Sano
第12回計算機構成
第12回計算機構成
眞樹 冨澤
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説
AtCoder Inc.
何もないところから数を作る
何もないところから数を作る
Taketo Sano
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
Indeedなう B日程 解説
Indeedなう B日程 解説
AtCoder Inc.
線形識別モデル
線形識別モデル
貴之 八木
Similar a Permutation
(20)
アルゴリズムとデータ構造15
アルゴリズムとデータ構造15
動的計画法を極める!
動的計画法を極める!
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
2015年度秋学期 応用数学(解析) 第13回 孤立特異点と留数 (2015. 12. 17)
2015年度秋学期 応用数学(解析) 第13回 孤立特異点と留数 (2015. 12. 17)
複素数・四元数と図形の回転
複素数・四元数と図形の回転
2014年度秋学期 応用数学(解析) 第4部・複素関数論ダイジェスト / 第13回 孤立特異点と留数 (2015. 1. 8)
2014年度秋学期 応用数学(解析) 第4部・複素関数論ダイジェスト / 第13回 孤立特異点と留数 (2015. 1. 8)
JOIss2020 発表資料
JOIss2020 発表資料
単調減少な数列の級数問題
単調減少な数列の級数問題
単調減少な数列の級数問題
単調減少な数列の級数問題
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
第9回スキル養成講座講義資料
第9回スキル養成講座講義資料
コードを書けば複素数がわかる
コードを書けば複素数がわかる
第12回計算機構成
第12回計算機構成
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説
何もないところから数を作る
何もないところから数を作る
Convex Hull Trick
Convex Hull Trick
Indeedなう B日程 解説
Indeedなう B日程 解説
線形識別モデル
線形識別モデル
Más de oupc
Knapsack
Knapsack
oupc
Game
Game
oupc
Divisor
Divisor
oupc
Division
Division
oupc
Anagram
Anagram
oupc
A
A
oupc
Comment
Comment
oupc
Más de oupc
(7)
Knapsack
Knapsack
Game
Game
Divisor
Divisor
Division
Division
Anagram
Anagram
A
A
Comment
Comment
Permutation
1.
順列 原案、問題文:宮村 解答:宮村 解説:宮村
2.
問題概要
以下の条件を満たす長さ N の数列 X の個数を数 える。 1. 任意の i に対して X[j]=i なる j が存在する。 2. X[s] = t 3. X[a[i]] < X[b[i]] (1≦i≦C) ( ただし i ≠ j ならば a[i] ≠ a[j]) 2 ≦ N ≦ 2000 0≦C≦N
3.
問題読み替え
条件 1 は単に順列であることを言っているだけ。 簡単のため以下のように問題を読み替える。 2'. X[s] = N-t+1 3'. X[a[i]] > X[b[i]] (1≦i≦C) ( ただし i ≠ j ならば a[i] ≠ a[j] ) もとの条件を満たす数列を X[i] := N – X[i] + 1 で 置き換えた数列の数を数えているに過ぎない
4.
グラフとして解釈する
各番号を頂点とし、番号 b[i] から a[i] へ辺を張った 頂点数 N のグラフを考える。 このとき、この有向グラフで頂点 s が N-t+1 番目に くるトポロジカル順序の個数を求めれば良い。 もちろん、 DAG でなければトポロジカル順序が定 義できないので、閉路があれば即座に 0 を返す。 有向閉路の判定は O(N+C) なり O(N*C) なりで簡 単にできる。
5.
グラフとして解釈する
入次数 1 以下という制限があるので、有向閉路を 持たない場合は根付き木が複数個集まったような グラフになる。 s
6.
グラフとして解釈する
連結成分毎に分けて考えてもいいが、ダミーノード を根としてつけると簡単になる。 この場合、頂点 s が N-t+2 番目にくるようなトポロ ジカル順序の個数を求めれば良い。 root s
7.
ここまでのまとめ
結局、有向閉路を持たない場合は以下のような問 題に帰着できる。 ノード数 N の根付き木が与えられる。このとき、ノー ド v が k 番目にくるようなトポロジカル順序の個数 を求めよ。 (N は元の問題とは異なることに注意 )
8.
解法
動的計画法で解く。 根から v までのパス上で計算する。 以下の解説では番号を 0-indexed にする。
9.
根からのパス
このパス上で DP する root root v v
10.
状態の関係式
S[u]={u を根とする部分木のサイズ } とする。 S[u] = 1 + Σ S[c] ただし、 c は u の全ての子
11.
状態の関係式
T[u] = {u を根とする部分木のトポロジカル順序の 総数 } とする。 T[u] = (Π T[c]) * (S[u]-1)! / (Π S[c]!) ただし、 c は u の全ての子 階乗を使わずに二項係数を使って計算しても良い。
12.
状態をどのようにとるか
根から v へのパス上のノードを浅い順に V[0]=root, V[1], …, V[depth]=v, V[d+1]=dummy とする。 S[dummy] = 0, T[dummy] = 1 としておくと楽。 G[i] = {V[i] を根とする部分木 }, G[d+1]= 空とする。 DP[i][j] = {G-G[i+1] で、 V[i] が j 番目に来るような トポロジカル順序の総数 } とすると、最終的に DP[depth][k] が答となる。
13.
状態の関係式
オーバーフローに注意 DP[i][j] = (Σ_{0≦k<j} DP[i-1][k]) * combination(N-S[V[i+1]]-1-j, S[V[i]]-S[V[i+1]] - 1) * (Π T[c]) * (S[i]-S[i+1]-1)! / (Π S[c]!) ただし、 c は V[i] の V[i+1] 以外の子 0 j-1 j j+1 N-S[V[i+1]]-1 V[i] V[i-1] はこのどこかにある 全部で N-S[V[i+1]] 個 この中から S[V[i]]-S[V[i+1]]-1 個選ぶ
14.
計算量
状態数が depth * N でおよそ N^2 通りある。 ひとつの関係式を真面目に計算したら O(N) 程度 かかって全体で O(N^3) となり TLE しそう。
15.
計算量
(Π T[c]) * (S[i]-S[i+1]-1)! / (Π S[c]!) の部分は j に 依存しないので最初に計算しておけばよい。 Σ_{0≦k<j} DP[i-1][k] は DP[i-1][j] を j の小さい方 から加算していけば同じ計算を繰り返さずに済む。 ( 和が出てくる DP を高速化する典型手法 ) または、累積和を計算しておいて O(1) で表引きで きるようにしておく、と考えてもよい。 こうすると、計算量は全体で O(N^2) となる。
16.
解答例
宮村 C++ : 139 行 2517 byte Java: 171 行 3327 byte
Descargar ahora