<commit_before>## dijkstra.cpp

- [GitHub]({{ site.github.repository_url }}/blob/master/cpp/include/graph/dijkstra.cpp)

{% highlight cpp %}
/// @brief
/// 負辺のない重み付きグラフの単一始点全点間最短距離を求める．

template <typename Edge, typename Cost = typename Edge::Cost>
vector<Cost> dijkstra(const vector<vector<Edge>> &g, int s, Cost zero = 0) {
  /// @param g: 負辺のない重み付きグラフ
  /// @param s: 始点の頂点番号
  /// @param zero: 型 Cost のゼロ値
  /// @return 始点から各頂点までの距離が入った型 Cost の列
  /// @pre 入力グラフに不辺があってはならない
  /// @complexity $O(E \\log V)$
  vector<Cost> d(g.size(), inf<Cost>);
  d[s] = zero;
  using P = pair<Cost,int>;
  priority_queue<P, vector<P>, greater<P>> que;
  que.push(P(zero, s));
  while (!que.empty()) {
    Cost dist = que.top().first;
    int v = que.top().second;<commit_msg>Run gendoc<commit_after>## dijkstra.cpp

- [GitHub]({{ site.github.repository_url }}/blob/master/cpp/include/graph/dijkstra.cpp)

{% highlight cpp %}
template <typename Edge, typename Cost = typename Edge::Cost>
vector<Cost> dijkstra(const vector<vector<Edge>> &g, int s, Cost zero = 0) {
  vector<Cost> d(g.size(), inf<Cost>);
  d[s] = zero;
  using P = pair<Cost,int>;
  priority_queue<P, vector<P>, greater<P>> que;
  que.push(P(zero, s));
  while (!que.empty()) {
    Cost dist = que.top().first;
    int v = que.top().second;
{'fraction_non_alphanumeric': 0.1891891891891892, 'fraction_numerical': 0.0015444015444015444, 'mean_word_length': 3.946564885496183, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2212237', 'n_tokens_mistral': 573, 'n_tokens_neox': 555, 'n_words': 113}