はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    プライムデーセール

『dai1741.github.io』

  • 人気
  • 新着
  • すべて
  • 最小全域木(クラスカル法とUnionFind) - アルゴリズム講習会

    3 users

    dai1741.github.io

    最小全域木(クラスカル法とUnionFind) 今回は無向グラフの最小全域木について説明します。 最小全域木を用いる問題はICPCでもたまに出題されます(今年のアジア地区予選東京大会F問題とか)。 最小全域木とは 無向連結グラフの全域木は、グラフが連結であるという条件を保ったまま辺を消去して得られる木のことです。 最小全域木は、全域木を構成する辺のコストの総和が最小となるもののことを指します。 最小全域木問題は、与えられたグラフの最小全域木またはそのコストを求める問題です。 次の図は最小全域木の例です。赤い辺が最小全域木を構成します。 赤い辺以外を消去するとグラフは全域木になり、また少し考えるとこれよりコストの和が小さい全域木が存在しないことがわかります。 最小全域木問題の解法 最小全域木は グラフの辺を、 コストが小さい順に、 閉路を作らないように採用していく という貪欲法で求められます

    • テクノロジー
    • 2020/09/08 10:10
    • C++(ソートの補足) - アルゴリズム講習会

      3 users

      dai1741.github.io

      C++(ソートの補足) 複数の要素をまとめてソート 複数の要素をまとめてソートしたいときは、pairの配列(vector<pair<型1, 型2> >)を使うと簡単にできる。 #include <stdio.h> #include <vector> #include <algorithm> // sort #include <map> // pair using namespace std; int main() { int n = 10; vector<pair<int, int> > pairs(n); for (int i = 0; i < n; i++) { pairs[i] = make_pair(i*i % 10, i); } // firstが小さい順、secondが小さい順にソート sort(pairs.begin(), pairs.end()); for (int i =

      • テクノロジー
      • 2020/02/18 07:13
      • 動的計画法(ナップサック問題) - アルゴリズム講習会

        10 users

        dai1741.github.io

        動的計画法(ナップサック問題) 動的計画法とナップサック問題について解説します。 動的計画法とは 直接計算すると大きな時間がかかってしまう問題に対し、途中の計算結果をうまく再利用することで計算効率を上げる手法のこと。 「途中の計算結果を再利用」=「同じ計算をしない」ということ 難しいように見えて考え方自体は単純 ICPC国内予選でもC問題~F問題くらいに何かしらの形で2,3題ほどでます 英語では「Dynamic Programming」と呼び、略して「DP」と呼ぶことが多いです。 動的計画法で効率的に解ける問題の一つに、ナップサック問題というものがあります。 ナップサック問題 ナップサック問題は、価値と重さが決まっている複数の品物を容量が一定のナップサックに詰め込むとき、ナップサックに詰め込める品物の価値の和の最大値は何であるか? という問題です。 具体的には、以下の図のようになります。ナ

        • テクノロジー
        • 2019/06/22 22:50
        • 最小全域木(クラスカル法とUnionFind) - アルゴリズム講習会

          4 users

          dai1741.github.io

          最小全域木(クラスカル法とUnionFind) 今回は無向グラフの最小全域木について説明します。 最小全域木を用いる問題はICPCでもたまに出題されます(今年のアジア地区予選東京大会F問題とか)。 最小全域木とは 無向連結グラフの全域木は、グラフが連結であるという条件を保ったまま辺を消去して得られる木のことです。 最小全域木は、全域木を構成する辺のコストの総和が最小となるもののことを指します。 最小全域木問題は、与えられたグラフの最小全域木またはそのコストを求める問題です。 次の図は最小全域木の例です。赤い辺が最小全域木を構成します。 赤い辺以外を消去するとグラフは全域木になり、また少し考えるとこれよりコストの和が小さい全域木が存在しないことがわかります。 最小全域木問題の解法 最小全域木は グラフの辺を、 コストが小さい順に、 閉路を作らないように採用していく という貪欲法で求められます

          • テクノロジー
          • 2016/03/21 18:17
          • 構文解析 - アルゴリズム講習会

            20 users

            dai1741.github.io

            構文解析 再帰下降構文解析 構文解析にはいろいろな手法がありますが、プログラミングコンテストでは実装が単純かつそこそこ強力な(LL(1)文法を処理できる)再帰下降構文解析がよく使われます。 これは、関数の再帰を使って構文を小さな領域に分割していき、末端から値を確定させていく手法です。 四則演算の構文解析 例として、四則演算の構文解析を考えます。 ここでは四則演算は数字と括弧、+-*/の4つの演算子から成り立っているとします。演算子の優先順位も実際の四則演算の通り、掛け算と割り算が優先されます。ただし、全ての演算は整数だとします。以下は式の一例です。 まずは、四則演算の構文をBNF記法で表します。 BNF記法をあまり厳格に記述する必要はありませんが、演算子の優先順位はきっちり判別できるようにしておく必要があります。 最初に、式全体をexprという変数(非終端記号)で表すとします。 exprの

            • テクノロジー
            • 2015/01/21 02:50
            • 構文解析
            • Parser
            • Programming
            • あとで読む
            • 目次 - アルゴリズム講習会

              8 users

              dai1741.github.io

              講習会資料 GitHub Pagesとjekyllで資料を作ってみた。 今後もこの形式で資料を用意するかは未定。今後資料を作るのかも未定。 目次 完全な目次はサークルWikiのページにあります。 C++ C++(標準ライブラリの紹介) C++(ソートの補足) 最短経路問題(ベルマンフォード法・ワーシャルフロイド法) 動的計画法(ナップサック問題) 幾何 構文解析 二分探索 最小全域木(クラスカル法とUnionFind)

              • テクノロジー
              • 2015/01/02 22:39
              • 競技プログラミング
              • algorithm
              • c++
              • 動的計画法(ナップサック問題) - アルゴリズム講習会

                37 users

                dai1741.github.io

                動的計画法(ナップサック問題) 動的計画法とナップサック問題について解説します。 動的計画法とは 直接計算すると大きな時間がかかってしまう問題に対し、途中の計算結果をうまく再利用することで計算効率を上げる手法のこと。 「途中の計算結果を再利用」=「同じ計算をしない」ということ 難しいように見えて考え方自体は単純 ICPC国内予選でもC問題~F問題くらいに何かしらの形で2,3題ほどでます 英語では「Dynamic Programming」と呼び、略して「DP」と呼ぶことが多いです。 動的計画法で効率的に解ける問題の一つに、ナップサック問題というものがあります。 ナップサック問題 ナップサック問題は、価値と重さが決まっている複数の品物を容量が一定のナップサックに詰め込むとき、ナップサックに詰め込める品物の価値の和の最大値は何であるか? という問題です。 具体的には、以下の図のようになります。ナ

                • テクノロジー
                • 2014/12/30 19:14
                • 動的計画法
                • ナップサック問題
                • アルゴリズム
                • dp
                • programming
                • パターン
                • あとで読む
                • memo
                • 最短経路問題(ベルマンフォード法・ワーシャルフロイド法) - アルゴリズム講習会

                  8 users

                  dai1741.github.io

                  最短経路問題 ベルマンフォード法とワーシャルフロイド法について解説します。 ダイクストラ法と比べて構造が単純(プライオリティキューがいらない)なので、多少は理解しやすいと思います。 入力の形式について このページで使用しているサンプルコードの標準入力は、全て下記の形式で与えられます。 n m $$[f_1 \ t_1 \ c_1]$$ $$[f_2 \ t_2 \ c_2]$$ ... $$[f_m \ t_m \ c_m]$$ nは頂点数、mは辺の数を示し、続くm行の \([f\_i, t\_i, c\_i]\) はそれぞれi番目の辺の始点、終点、重みを示します。 ベルマンフォード法 ベルマンフォード法は、2点間の最短路を見つけるアルゴリズム。 ダイクストラ法はうまく頂点を選ぶことで効率を上げているが、ベルマンフォード法では全ての辺に対して距離が短くなる経路があるか判定する。 基本的には

                  • テクノロジー
                  • 2014/10/16 11:06
                  • Algorithm

                  このページはまだ
                  ブックマークされていません

                  このページを最初にブックマークしてみませんか?

                  『dai1741.github.io』の新着エントリーを見る

                  キーボードショートカット一覧

                  j次のブックマーク

                  k前のブックマーク

                  lあとで読む

                  eコメント一覧を開く

                  oページを開く

                  はてなブックマーク

                  • 総合
                  • 一般
                  • 世の中
                  • 政治と経済
                  • 暮らし
                  • 学び
                  • テクノロジー
                  • エンタメ
                  • アニメとゲーム
                  • おもしろ
                  • アプリ・拡張機能
                  • 開発ブログ
                  • ヘルプ
                  • お問い合わせ
                  • ガイドライン
                  • 利用規約
                  • プライバシーポリシー
                  • 利用者情報の外部送信について
                  • ガイドライン
                  • 利用規約
                  • プライバシーポリシー
                  • 利用者情報の外部送信について

                  公式Twitter

                  • 公式アカウント
                  • ホットエントリー

                  はてなのサービス

                  • はてなブログ
                  • はてなブログPro
                  • 人力検索はてな
                  • はてなブログ タグ
                  • はてなニュース
                  • ソレドコ
                  • App Storeからダウンロード
                  • Google Playで手に入れよう
                  Copyright © 2005-2025 Hatena. All Rights Reserved.
                  設定を変更しましたx