59 search resultsShowing 1~20 results

Stocked
stu

@stu(ad am)

map

map< 番地の型, 記録する型 > a; a.clear() (初期化) アクセスの計算量は O(logN) 2分探索の必要がないため、lower_boundと使うと速い map&...

1
0
Comment0
stu

@stu(ad am)

lower_bound

lower_bound(a+l, a+r, x) - a  (a は 小さい順にソートされている配列) l≤i≤r−1 の中で、x≤ai となるような最小の i(ポインタ) の値を返す 計算量は...

1
0
Comment0
stu

@stu(ad am)

最小全域木問題

問題 確定済みの頂点の中から最短ルートを見つけるのを繰り返すプログラムである //プリム法 (計算量: O(|V|^2)) vector<vector<int>> G; ...

0
0
Comment0
stu

@stu(ad am)

ダイクストラ法

最短経路問題 問題 : 動作確認済み (条件) 負の重みを持たない無向性グラフ 最短距離が更新されたときのみ、その頂点に隣接する辺の更新を行う vector<vector<ll>...

0
0
Comment0
stu

@stu(ad am)

2Dセグメント木

各ノードのセグ木を実際に使用するマス数だけに節約してしまい、 補助的なデータ構造として、マスの対応関係を保存しておけば、 実装の工夫なしの場合と同じことが出来ることになる。 マスの対応関係という...

0
0
Comment0
stu

@stu(ad am)

segment tree

template< typename Monoid > struct SegmentTree { using F = function< Monoid(Monoid, Mono...

0
0
Comment0
stu

@stu(ad am)

Binary Indexed Tree

BITはセグメント木の機能を限定したものであり、実装が簡単でメモリを節約できる //数列a(a[0],a[1],…,a[n-1])についての区間和と点更新を扱う //区間和,点更新,二分探索はO...

0
0
Comment0
stu

@stu(ad am)

segment tree(遅延)

何度も部分加算をして、被らなかった場合、最小値の習得の時にまとめて更新できるので処理が速くなる 遅延なしの場合は部分加算ごとに全要素更新する必要があるが、遅延を使うとlognで一旦保留にできる ...

0
0
Comment0
stu

@stu(ad am)

コンテスト用(まとめ)

基本アルゴリズム 全探索 二分探索 最短経路問題 深さ優先探索 dp 最小全域木問題 高速な素数判定法 modint 累積和 基本データ構造 グラフ 木 Union-Find segment t...

0
0
Comment0
stu

@stu(ad am)

bit dp

巡回セールスマン問題 dp[bit][最後に訪れた頂点] = 最短経路 シフト制 dp[bit][日数] = パターン数 1次元 bit dp dp[bit] = 最小個数

0
0
Comment0
stu

@stu(ad am)

1次元 bit dp

int N, M, A[101010]; int cnt[20]; int dp[1 << 20]; int rui[20][101010]; int main() { cin &g...

0
0
Comment0
stu

@stu(ad am)

dp

ナップサック dp 部分和、区間分割、比較 ビットdp ナップザックdpで情報が足りない時に使用 ・訪れた頂点の情報をbitに持つ(巡回セールスマン) ・日ごとに参加する人の情報をbitに持つ(...

1
0
Comment0
stu

@stu(ad am)

巡回セールスマン問題

問題 全頂点を訪れてた後、最初に戻る場合と戻らない場合がある(yが必要) 有向性グラフであり、矢印がない頂点間はINFを与える ll N, E, y; //頂点、辺、最後に通る点 ll G[20...

1
0
Comment0
stu

@stu(ad am)

シフト制

問題 const int MOD = 10007; const int MAX_N = 1010; int N; char S[MAX_N]; int dp[MAX_N][8]; //文字→数字...

0
0
Comment0
stu

@stu(ad am)

memo

repを複数使うとき同じ文字を使わない 同じ文字を何度も定義するとエラーが起きやすい(queueなど) 通常は番号を入力から受け取るとき-1する INFの値は十分大きい値にしておく(int IN...

0
0
Comment1
stu

@stu(ad am)

ナップサック問題

問題 dpイメージ dp[i][w] : i 番目までの品物の中から (選ぶ、選ばない 選択) 重さが w を超えないように選んだときの、 価値の総和の最大値 // 入力 ll n, W; //...

0
0
Comment0
stu

@stu(ad am)

幅優先探索

最短経路問題 問題 : 動作確認済み queue と vector を使う int H, W; // 迷路の大きさ char c[1009][1009]; // x座標、y座標 int dist...

0
0
Comment0
stu

@stu(ad am)

最短経路問題

幅優先探索 (重みなし) 計算量: O(|E| + |V|) ダイクストラ法 (正の重みのみ) 計算量: O(|E|log|V|) ベルマンフォード法 (負の重みも含む) 計算量: O(|E|×...

0
0
Comment0

59 search resultsShowing 1~20 results

Qiita is a knowledge sharing service for engineers.

  1. You can follow users and tags
  2. You can stock useful information
  3. You can make edit suggestions for articles
Functions that can be used after logging in