2月24 2番目のクラスのマシンのテスト記録
概要
- 最適化は、時間の複雑さを軽減するためにシミュレーションを使用することを検討してSTL
- 時間のために複雑さが軽減されます
- この方法では、シフトN LOGNは、このような考えに減少します
- しかし、また、など、さまざまな詳細を検討
- 入力と出力の代わりに、printfのCOUTを使用して
- mp.count()が、冗長判決であります
- 使用unordered_map
- 列挙からビューの流動点よりも、トピックのため時々考えは、より合理BFSのBFSを実行し、その結果、ネットワークの問題として、別の観点からモデル化することができます。
- シミュレーション、最適化、質問を促した大量のデータの変換のためのベースは、新たな視点から考える必要があると語りました
トピック号
シンプル
- PIPIOJ 1332 括弧の間に逆方向ストリング(スタック+ストリング)
- PIPIOJの1334 PIPI数(地図)
- PIPIOJ 1065の統計バルーン(マップ)
- 1070はPIPIOJあるPIPIアレイ(+ベクターをマッピング)
- PIPIOJ 1037 ランキング(ソート)
- PIPIOJ 1150 整数でソート(並べ替え、文字列)
パズル
- PIPIOJ 1325 ソーシャルネットワーク(キュー)
- PIPIOJ 1114 六角変換(マップ+ストリング)
- PIPIOJ 1173 PIPIコレクション(unordered_map)
- PIPIOJ 1330 PIPIレゴ(セット)
アイデアとヒント
1332
- char *文字列保存、受信線)(取得が必要です。
- [B)に(a、b)は逆に使用STLを直接反転さ
char str[100]; gets(str); reverse(str + a, str + b);
1325
アイデアは、ダウンリバースプッシュバックBFSの始まりですが、コードがあまりにも複雑であり、その答えは、各列挙中毒のための基準点であり、シミュレーション結果は、BFSのコントラストだった、時間の複雑さはO(ポイント+エッジの数)であるBFS 、感染した意志はない、タイムアウトの数を乗じました
ポイントは、より多くのエッジよりも、無向グラフは、あなたが二回保存することを指摘し、ベクタの隣接テーブルを使用して宣言することができるため
BFS VISアレイは、複数回使用することができます回避の重複へのアクセスポイントを必要とし、配列を初期化するVIS memsetを使用して
1037
- 比較するためのstrcmp、または単にポインタと比較してチャーを使用して必要に応じてC ++の必要性は、過負荷ストリングシンボルよりも大きいです
1114
ハングに先立ち、小さな電気の問題は、簡素化を介して入力と出力をフォーマットすることができ、データの量をしましたが、直接のクロスボーダーの小数点シミュレーションがまだなので、直接バイナリエミュレーションを考慮すれば、データのこの問題は大量にのみ、シミュレーションのために考慮することができますシミュレーションプロセスを簡素化するためにマップを使用する方法
scanf("%x", &a); printf("%o", a);
1173
これはO(n ^ 2)の時間計算量Oから(N ^ 4)ダウンことが、考えに前処理
TLEいくつかの簡単なポイント
unordered_map使用します(マップの再利用はクリアが必要です)
メインの初期化関数の外では、重複を避けるために定義されました
mp.count(キー)以外に決定された後ために加え直接MP [キー]で、問題になること
1330
- (独自の内部ソート)の操作、各操作は(LOGN)Oであるため、セットの使用ので、削除および並べ替えを追加するコンポーネントを返すために必要で、トピックのセットを使用したクラシック