본문 바로가기

Coding

(6)
[BOJ] CLASS 3+ 達成 1日1問…
[BOJ] CLASS 3 達成 やったぞー
[BOJ] CLASS 2++ 達成 どんどんスキルアップします。
std::stable_sort プログラミング問題においてデータを整列する時、「もし二つのデータの順位評価が同じであれば順番を変えてはいけない」という条件がつく場合がある。 その際にはstd::stable_sortを使うことができる。 一般的に使われるstd::sortとは違い、std::stable_sortは整列後、同じ順位を持つ二つのデータ間の相対的な位置を維持する機能がある。 ヘッダー 時間複雑度 O(N(log N)^2) テスト 500000個のランダムなデータを用いて作動時間を比較した。 格tuple (a b)において、aは比較対象、bは元のインデックスを表している。 インデックスは大小比較で無視されるようにcomparer関数を作成した。 std::stable_sortの場合、インデックスbの順番が維持されていることがわかる。 その代わり、約3.4倍の時間を使っている。 コード #include..
CSES - Two Sets 問題 CSES - Two Sets CSES - Two Sets cses.fi 考察と解 1からnまでの和はS = n * (n + 1) / 2で求められる。 Sが偶数の時のみ2つの集合に分けることができ、その元たちの和はS/2であることがわかる。 なので、最初にSが偶数であるかどうかを確認する。 与えられた自然数で指定の和S/2を作るためには、 最大の元nから始まり、和に達するまで大きい元を順に足していけばいいので、 S/2=n+(n-1)+(n-2)+…+r と表すことができる。 使用できる最大の元より、和に到達するために必要な数値が少なければ、 その残りの数値をrとすればいい。 残りの数値が0になる時を考えてコードを作成すると、次のようになる。 この問題では使用していない方の自然数も出力しなければならないので、 後で参照しやすいようにisUsedで記録している。 集合の大..
プロフィールまとめ 1. LinkedIn [韓国語(KR), 日本語(JP)] LinkedIn - An Hongseok 2. Baekjoon Online Judge, User Tier [韓国語(KR)] solved.ac - protarie solved.ac - protarie 최대 1일 연속 문제 해결, 현재 1일 날짜는 한국 시각 기준으로 매일 오전 6시에 변경됩니다. 강제 갱신의 경우 반영되지 않습니다. 경험치 135,616 ▪ BRONZE6591.5%69,18051.0% ▪ SILVER45.6%13,0039.6% ▪ 수 solved.ac 3. GitHub [英語(EN)] protarie125 (github.com) protarie125 - Overview protarie125 has 21 repositories avail..